/*******************************************************************************
* Copyright (c) 2006, 2015 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*     IBM Corporation - initial API and implementation
*********************************************************************************/

// This file was generated by LPG

package org.eclipse.cdt.internal.core.dom.lrparser.gpp;

public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, GPPSizeofExpressionParsersym {

    public interface IsKeyword {
        public final static byte isKeyword[] = {0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0
        };
    };
    public final static byte isKeyword[] = IsKeyword.isKeyword;
    public final boolean isKeyword(int index) { return isKeyword[index] != 0; }

    public interface BaseCheck {
        public final static short baseCheck[] = {0,
            0,0,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,3,1,1,1,1,1,1,
            1,1,2,2,1,1,0,1,0,4,
            2,3,2,3,2,2,1,0,1,1,
            4,4,4,8,8,3,3,4,4,3,
            3,2,2,7,7,7,7,4,5,6,
            3,2,2,1,1,1,2,2,2,2,
            2,2,2,2,2,7,9,3,0,1,
            2,2,1,2,3,4,1,0,3,1,
            0,3,5,1,4,1,3,3,1,3,
            3,3,1,3,3,1,3,3,1,3,
            3,3,3,1,3,3,1,3,1,3,
            1,3,1,3,1,3,1,5,1,3,
            5,3,3,1,3,3,1,3,1,3,
            1,3,1,3,1,3,1,5,1,1,
            3,3,3,3,3,3,3,3,3,3,
            3,1,2,1,1,3,3,3,3,3,
            3,3,3,3,3,3,1,2,1,3,
            1,0,1,0,1,1,0,1,1,1,
            1,1,1,1,1,1,3,4,3,2,
            1,4,2,1,2,5,7,5,1,4,
            1,0,5,7,2,8,1,1,2,2,
            3,2,3,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,2,
            1,0,4,4,2,2,2,2,2,1,
            0,1,1,1,1,1,1,2,1,2,
            2,2,1,1,2,2,1,2,2,1,
            2,2,1,2,2,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,3,4,4,
            5,2,5,6,5,0,1,0,7,8,
            0,1,3,1,0,1,3,1,7,6,
            0,7,6,1,0,6,6,4,1,3,
            1,0,1,1,2,1,1,3,1,3,
            1,1,1,1,3,9,2,2,3,2,
            5,3,7,0,1,2,2,1,0,1,
            1,1,3,1,2,1,1,2,3,1,
            1,1,3,2,1,2,2,9,8,2,
            1,3,1,3,1,0,1,0,2,1,
            1,3,1,3,2,1,5,8,1,2,
            3,1,1,7,6,3,0,0,1,3,
            1,1,5,6,6,7,7,0,0,1,
            0,1,1,1,2,4,2,2,1,5,
            1,1,1,1,1,1,1,2,1,0,
            1,3,1,1,2,3,2,1,2,2,
            1,0,1,3,3,5,5,4,1,1,
            1,1,0,1,5,2,2,1,2,2,
            1,0,1,3,4,3,1,1,5,2,
            1,1,3,3,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            2,2,7,1,0,1,3,1,1,2,
            4,2,4,7,9,5,1,3,1,0,
            1,1,3,2,3,2,2,1,0,1,
            1,4,5,2,1,2,2,2,2,2,
            2,2,1,1,2,1,1,2,4,4,
            2,1,2,5,5,3,3,1,4,3,
            1,0,1,3,1,1,1,1,2,6,
            3,1,3,1,4,0,1,1,1,3,
            1,0,4,3,1,2,1,3,4,4,
            4,6,1,0,1,3,1,3,0,1,
            4,5,2,2,3,3,5,3,4,3,
            1,2,2,2,4,2,1,1,2,2,
            3,2,2,3,1,1,1,1,4,1,
            1,1,1,1,3,3,3,4,1,1,
            -65,0,0,0,0,-56,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-194,0,0,0,0,0,0,0,0,
            0,0,0,-10,-44,0,0,0,0,0,
            -266,-534,-17,-251,-407,0,0,0,0,-55,
            -360,0,-493,0,0,0,0,-243,0,0,
            0,0,0,0,0,-69,-66,0,0,0,
            0,0,0,0,-255,0,0,-457,0,0,
            0,0,0,0,-218,0,0,0,0,0,
            0,0,0,0,-61,-539,0,0,0,0,
            0,0,0,-68,0,0,0,-2,0,0,
            0,0,0,-224,0,0,0,-436,0,0,
            0,0,-484,0,0,0,0,0,0,0,
            0,0,-451,-147,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-4,0,
            0,-5,0,0,0,0,0,0,0,0,
            0,0,-6,-467,0,0,0,-120,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-143,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-134,0,0,0,
            0,0,0,-60,0,0,0,0,0,0,
            -7,0,0,0,0,-121,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-81,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -642,0,0,0,0,0,0,0,0,0,
            0,-8,0,0,-160,0,0,0,0,0,
            0,0,0,-152,0,0,0,0,-9,0,
            -193,0,0,0,-128,-141,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-677,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-148,0,
            -328,0,0,0,0,-16,0,0,0,0,
            -11,0,0,0,0,0,-12,0,0,-13,
            0,-335,0,0,0,0,0,0,-485,0,
            0,0,0,-308,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-15,-82,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-518,0,
            0,0,0,0,0,0,0,-53,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-284,0,0,0,0,-30,0,-411,0,
            0,0,0,-604,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-317,0,0,0,-325,
            0,0,0,0,0,-31,0,0,-32,0,
            0,0,0,0,0,-33,0,-139,-34,0,
            0,0,0,-551,0,0,0,0,-35,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -326,0,0,0,-118,-575,0,0,0,0,
            0,0,0,0,0,0,0,-36,0,0,
            -434,0,-159,0,0,0,-250,0,0,0,
            0,0,0,0,0,0,0,-549,0,-509,
            0,0,0,0,-37,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-408,0,0,0,
            0,-599,0,0,0,0,0,0,0,0,
            0,0,0,-640,0,0,0,0,0,0,
            0,-469,0,0,0,0,-313,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-336,0,
            0,0,-214,0,-546,0,0,0,0,0,
            0,0,0,0,-140,0,0,0,-550,0,
            -75,0,0,0,0,0,0,0,0,0,
            0,0,0,-38,0,0,0,-3,0,0,
            0,0,-416,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-364,0,0,0,0,-252,
            -258,0,0,0,0,0,0,0,0,0,
            -220,0,0,0,0,0,-413,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-481,0,0,-362,0,
            0,0,0,0,0,0,0,0,0,-453,
            -39,0,0,0,0,-490,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-505,0,0,-40,0,-256,0,0,
            0,0,0,0,0,0,0,0,0,-42,
            0,0,0,0,-365,0,0,0,0,-76,
            0,0,0,0,-57,0,0,0,0,0,
            0,0,0,0,0,0,-491,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-522,-466,0,-409,0,0,0,
            0,0,0,0,0,0,0,0,0,-221,
            0,0,0,0,0,-580,0,0,0,0,
            -482,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-262,-568,0,0,-156,0,-58,0,
            0,0,0,0,0,0,0,0,-447,0,
            0,0,0,0,-41,0,0,0,0,-543,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-422,0,0,0,-166,-231,-489,0,0,
            0,-670,0,0,-526,0,0,0,0,0,
            0,-70,0,-544,0,0,0,0,-43,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-483,0,0,0,0,
            -71,0,0,0,0,0,0,0,0,0,
            0,-503,0,0,0,0,0,-100,0,0,
            0,0,-390,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-527,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-257,0,0,-101,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-529,0,0,0,-51,
            0,0,0,0,0,0,0,0,0,0,
            -73,0,0,0,0,0,-102,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-554,-74,-114,-115,-52,-253,
            0,0,0,0,0,0,0,0,0,-237,
            -116,0,0,-117,0,-103,0,0,0,0,
            -576,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-572,0,0,0,0,-124,-646,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-62,0,-104,0,0,0,0,-125,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-579,0,0,0,-59,-647,0,0,
            0,0,0,0,-126,0,0,0,0,0,
            0,0,0,-105,0,0,0,0,-63,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-644,-356,-142,-347,-348,0,0,0,0,
            0,0,0,0,0,0,-269,-113,0,0,
            0,0,-106,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-216,-392,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-119,
            0,-107,0,0,0,0,-161,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-228,-488,
            0,0,0,0,-229,0,0,0,0,0,
            0,-417,0,0,0,0,0,0,-149,0,
            -108,0,0,0,0,-165,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-312,-610,
            0,0,-150,0,0,0,0,0,0,0,
            -151,0,0,-167,-213,0,0,-233,0,-109,
            0,0,0,0,-445,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-235,0,0,
            -435,-261,0,0,0,0,0,0,0,0,
            0,0,-322,-263,0,0,-315,0,-110,0,
            0,0,0,-168,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-323,0,0,-169,
            -571,0,0,0,0,0,0,0,0,0,
            0,-520,-327,0,0,-330,0,-145,0,0,
            0,0,-170,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-329,-349,0,-171,-358,
            0,0,0,0,0,0,0,-357,0,0,
            -438,0,0,0,-241,0,0,0,0,-359,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-405,0,0,0,0,0,
            0,0,0,0,-634,0,0,-448,0,0,
            0,0,-265,0,0,0,-611,0,0,0,
            0,0,-472,-172,-270,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-630,0,0,0,-499,0,0,
            0,0,0,0,0,0,0,-473,0,0,
            0,-173,0,-271,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -386,-462,0,0,0,0,0,0,0,0,
            0,0,0,-174,0,0,-598,-366,0,0,
            0,0,-295,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -210,-83,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-397,0,-175,0,0,-176,0,-638,0,
            0,0,0,0,0,-177,0,0,0,0,
            0,-296,0,0,0,0,-178,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-219,
            -84,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-179,0,0,0,0,0,
            -402,-180,-404,0,-406,0,0,0,-412,0,
            -661,0,0,0,-367,0,0,0,0,-297,
            0,0,0,0,-181,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-222,-85,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-182,0,0,0,0,0,-430,-183,
            -433,0,-446,0,0,0,-452,0,-184,0,
            0,0,-368,0,0,0,0,-298,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-403,-22,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-185,
            0,0,0,0,0,0,-479,-186,-480,0,
            -494,0,0,0,-528,0,-187,0,0,0,
            -369,0,0,0,0,-299,0,0,0,0,
            -536,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-475,-23,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-188,0,
            0,0,0,0,-532,-189,-535,0,-552,0,
            0,0,-583,0,-190,0,0,0,-387,0,
            0,0,0,-300,0,0,0,0,-558,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-506,-24,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-191,0,0,0,
            0,0,-605,-192,-609,0,-613,0,0,0,
            -619,0,-195,0,0,0,-389,0,0,0,
            0,-301,0,0,0,0,-569,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-566,
            -25,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-199,0,0,0,0,0,
            -636,-637,-651,0,0,0,0,0,-654,-200,
            -201,0,0,0,-421,0,0,0,0,-302,
            0,0,0,0,-573,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-593,-26,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-202,0,0,0,0,0,-662,-203,
            -204,0,-205,0,0,-206,-207,-208,-212,0,
            0,-215,-426,0,0,0,0,-303,0,0,
            0,0,-574,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-633,-27,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -225,0,0,0,0,0,-227,-232,-238,0,
            -240,-242,0,-657,0,0,0,0,0,-244,
            -428,0,0,0,0,-304,0,0,0,0,
            -581,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-28,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-245,0,
            -246,-247,-249,-525,-264,-276,-277,0,-285,-314,
            0,-667,0,0,0,0,0,-320,-432,0,
            0,0,0,-305,0,0,0,0,-331,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-29,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-547,-333,0,-631,0,
            0,-337,-602,-545,-339,0,-340,0,0,-668,
            0,0,0,0,0,-345,-443,0,0,0,
            0,-464,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -67,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-420,-353,0,-354,-578,0,-64,
            -355,-363,-374,0,0,-601,0,-375,-626,-533,
            -376,0,0,0,0,0,0,0,0,-555,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-675,0,
            0,0,0,0,0,0,-377,0,0,-410,
            0,0,-378,-460,0,0,-461,0,-198,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-379,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -380,0,0,0,0,-463,-381,-162,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -620,0,0,-164,0,0,0,0,-608,0,
            0,0,0,0,0,0,0,0,-424,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-616,-382,
            -649,-671,-383,0,0,0,0,0,-384,0,
            0,-468,-470,0,0,-524,0,0,0,0,
            -471,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-385,0,0,0,-388,-393,-395,0,
            0,0,0,0,0,-396,0,0,-414,-415,
            0,0,-514,-530,-560,-565,-567,-537,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-431,0,0,-439,0,0,-454,0,0,
            -577,-607,0,0,-548,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-458,0,0,-459,-476,-477,-486,-487,0,
            0,-495,0,0,-497,0,0,-515,-516,0,
            0,-615,-617,-618,-643,-645,-591,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-521,-504,
            -561,0,0,-538,0,0,-540,0,0,-669,
            -556,0,0,-592,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -562,0,0,0,-564,-570,-584,-585,0,0,
            -586,0,0,-596,0,0,-597,-603,0,0,
            -614,-627,0,0,-628,-112,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-629,-639,-655,-656,-672,-674,-676,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-307,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-350,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-146,0,0,0,0,
            0,0,0,0,0,0,0,-78,0,0,
            0,0,0,0,0,0,-127,0,0,0,
            0,0,0,0,0,0,0,0,-54,0,
            0,0,0,0,-1,-217,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-123,0,0,0,0,0,0,-444,
            0,0,0,0,0,0,0,0,0,-14,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-440,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-519,0,0,0,0,0,0,0,
            0,0,0,0,0,-158,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-99,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-294,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -478,0,0,0,0,0,0,0,0,0,
            0,0,0,-531,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-79,0,0,0,0,-474,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-508,0,0,0,0,0,
            -97,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -292,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-86,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-98,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-293,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-500,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-94,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-289,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-290,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-309,0,
            0,0,-130,0,0,0,-197,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -95,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -96,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-196,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-291,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-398,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-510,0,0,0,0,0,0,
            0,0,0,0,0,0,-542,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-589,0,0,0,0,0,0,0,
            0,0,-50,0,0,0,0,0,-268,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-652,0,0,
            0,0,0,0,-394,0,0,0,0,0,
            -590,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -111,0,0,0,0,0,0,0,0,0,
            0,0,-553,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-129,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-595,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -272,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-87,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-88,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-89,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-90,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-91,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -155,-77,0,0,0,0,0,0,-507,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-273,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-511,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-239,0,0,
            0,0,0,0,0,0,0,0,0,-541,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-19,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-286,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-287,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-288,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-332,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-373,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-418,0,0,0,0,0,0,
            0,0,0,0,0,0,-278,0,0,0,
            -131,0,0,0,-361,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-18,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-594,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-92,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-93,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-248,-157,0,0,0,
            0,0,0,-122,-342,0,0,0,0,0,
            0,-351,0,0,0,0,0,0,0,0,
            0,0,0,0,-370,0,0,0,0,0,
            0,0,0,0,0,0,-132,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-338,0,0,0,0,0,0,0,
            -144,-557,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-632,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-341,
            0,0,0,0,0,0,0,-419,0,0,
            0,0,-49,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-423,0,0,0,
            0,0,0,0,-437,0,0,0,0,-211,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-425,0,0,0,0,0,0,
            0,-456,0,0,0,0,-223,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -496,-274,-275,0,0,0,0,0,0,-133,
            0,0,0,-236,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-498,0,-306,
            0,0,0,0,0,0,-136,0,0,0,
            -267,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-502,-371,0,0,0,0,
            0,0,-209,-343,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-455,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-606,0,0,0,0,0,0,0,0,
            -279,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-641,0,
            0,0,0,0,-648,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-135,0,0,0,-588,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-512,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-501,-280,0,0,
            0,0,0,-137,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-334,0,-523,-612,0,0,
            0,0,0,0,-441,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-80,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-559,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-372,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-259,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-20,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-21,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -138,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-154,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-283,0,0,-153,0,0,
            0,-582,0,0,0,0,0,0,0,0,
            0,0,-234,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-72,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-622,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-226,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-310,0,0,0,0,-663,0,0,
            0,-346,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-587,0,
            0,0,0,0,-311,0,0,0,0,0,
            -427,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-281,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-621,
            0,0,0,0,0,0,0,-318,0,0,
            0,0,0,0,0,-623,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-513,0,0,0,0,0,0,
            0,0,0,0,0,0,-624,-429,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-625,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-316,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-650,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-653,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-282,0,0,
            0,0,0,0,0,0,0,-344,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-492,0,0,0,0,0,0,0,
            0,0,-254,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-230,0,0,0,
            0,0,0,0,0,-163,0,0,0,0,
            -399,-45,0,0,0,0,0,0,0,0,
            0,0,-319,0,0,0,0,0,0,0,
            0,0,0,0,-321,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-324,0,
            0,0,0,0,0,0,0,0,0,-352,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -442,0,0,0,0,0,0,0,0,0,
            0,0,-449,0,0,0,-660,0,0,0,
            0,0,0,0,-450,0,0,0,-664,-517,
            0,0,0,0,-563,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-600,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-635,0,0,0,
            -400,0,0,0,-401,0,0,0,0,0,
            0,-658,0,0,0,0,-659,0,0,0,
            0,-391,0,0,0,-465,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-46,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-47,0,0,
            0,-48,0,0,0,0,0,0,-260,-665,
            -666,-673,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0
        };
    };
    public final static short baseCheck[] = BaseCheck.baseCheck;
    @Override
    public final int baseCheck(int index) { return baseCheck[index]; }
    public final static short rhs[] = baseCheck;
    @Override
    public final int rhs(int index) { return rhs[index]; };

    public interface BaseAction0 {
        public final static char baseAction0[] = {
            205,5,141,103,103,32,32,99,99,47,
            47,43,43,238,1,1,16,16,16,16,
            16,16,16,17,17,17,15,11,11,6,
            6,6,6,6,6,2,84,84,4,4,
            12,12,53,53,166,166,167,81,81,49,
            18,18,18,18,18,18,18,18,18,18,
            18,18,18,18,18,18,18,18,18,168,
            168,168,143,143,19,19,19,19,19,19,
            19,19,19,19,19,19,20,20,206,206,
            207,207,208,171,171,172,172,169,169,173,
            170,170,21,21,22,22,23,23,23,24,
            24,24,24,25,25,25,26,26,26,35,
            35,35,35,35,36,36,36,38,38,39,
            39,41,41,42,42,45,45,46,46,54,
            54,54,54,54,62,62,62,65,65,70,
            70,71,71,74,74,75,75,76,76,77,
            77,77,77,77,77,77,77,77,77,77,
            77,77,34,34,48,48,48,48,48,48,
            48,48,48,48,48,48,48,44,33,174,
            174,111,111,209,209,104,239,239,91,91,
            91,91,91,91,91,91,91,92,92,92,
            86,86,63,63,210,210,93,93,93,124,
            124,211,211,94,94,94,94,212,212,95,
            95,95,95,95,96,96,100,100,100,100,
            100,100,100,100,55,55,55,55,55,144,
            144,142,142,56,213,31,31,31,31,31,
            52,52,78,78,78,78,78,149,149,145,
            145,145,145,145,146,146,146,147,147,147,
            148,148,148,176,176,176,79,79,79,79,
            79,80,80,80,13,14,14,14,14,14,
            14,14,14,14,14,14,112,150,150,150,
            150,150,150,119,119,119,177,178,178,120,
            120,214,180,180,179,179,151,151,125,89,
            89,152,58,51,181,181,59,102,102,182,
            182,175,175,153,154,154,155,83,83,183,
            183,72,72,72,67,67,66,73,73,98,
            98,82,82,82,69,105,105,114,113,113,
            61,61,68,68,85,85,64,115,115,115,
            106,106,106,107,107,108,108,108,109,109,
            126,126,126,128,128,127,127,240,240,110,
            110,216,216,216,216,216,157,50,50,185,
            215,215,158,158,116,116,116,117,187,217,
            217,40,40,118,122,122,122,122,219,130,
            129,129,121,121,121,188,189,189,189,189,
            189,189,189,189,189,189,189,221,221,218,
            218,220,220,132,133,133,133,133,134,222,
            135,131,131,223,223,190,190,190,190,123,
            123,123,224,224,8,8,9,225,225,226,
            191,184,184,192,192,193,194,194,7,7,
            10,227,227,227,227,227,227,227,227,227,
            227,227,227,227,227,227,227,227,227,227,
            227,227,227,227,227,227,227,227,227,227,
            227,227,227,227,227,227,227,227,227,227,
            227,227,227,87,90,90,195,195,160,160,
            161,161,161,161,161,161,3,162,162,159,
            159,196,241,242,242,243,243,244,245,245,
            197,198,198,198,198,228,228,228,137,137,
            137,137,137,138,139,139,136,136,101,88,
            97,97,186,186,140,140,229,229,229,163,
            163,156,156,230,230,27,27,27,37,37,
            28,28,231,231,199,199,199,200,200,232,
            232,201,201,29,29,233,233,202,202,202,
            202,30,60,234,234,235,235,203,203,203,
            164,164,164,19,19,35,35,46,17,92,
            236,204,204,204,165,165,31,57,78,155,
            155,155,132,132,132,214,219,130,69,83,
            177,152,13,13,61,101,101,101,18,205,
            205,1591,35,2221,2213,6728,4801,27,30,31,
            1080,1122,26,28,2179,294,25,23,50,1177,
            104,75,76,106,1216,1226,1219,1239,648,595,
            596,597,1701,35,3297,175,1229,1305,531,1278,
            1511,306,1414,1546,366,55,1560,174,5873,189,
            1418,4279,2392,3356,3862,2676,3778,4019,671,1418,
            2150,3390,264,1896,35,1077,32,7411,3252,27,
            30,31,1080,1122,372,28,2773,1968,187,267,
            262,263,5261,260,376,3475,187,187,1309,2078,
            598,595,596,597,2159,366,747,2039,2066,7335,
            4993,232,237,247,7273,4801,3216,236,244,245,
            246,248,647,307,842,210,775,3450,1221,274,
            277,280,4683,1015,1701,35,1771,422,1212,352,
            2172,354,3149,2676,3778,348,1423,638,1983,238,
            240,242,3686,2650,2554,366,4043,4007,5008,5581,
            6434,283,579,239,241,598,595,596,597,172,
            1283,385,78,532,306,2952,641,668,2165,379,
            1059,814,382,274,1319,829,213,6070,3031,35,
            1077,32,5599,4778,27,30,31,1080,1122,26,
            28,1071,294,25,23,50,1177,104,75,76,
            106,1216,1226,1219,3070,6137,322,3681,35,1077,
            32,5599,160,27,30,31,1080,1122,26,28,
            1071,294,25,23,50,1177,104,75,76,105,
            1510,69,3055,3738,1089,3779,308,267,35,312,
            3133,6007,386,3071,1701,1881,2064,34,3141,3140,
            2159,464,3143,3146,159,576,3031,35,1077,32,
            5599,4778,27,30,31,1080,1122,26,28,1071,
            294,25,23,50,1177,104,75,76,106,1216,
            1226,1219,3070,582,322,4189,35,1077,32,5599,
            160,27,30,31,1080,1122,26,28,1071,294,
            25,23,50,1177,104,75,76,106,1216,2224,
            3055,2650,1385,3779,547,573,4687,577,3133,3447,
            5727,3071,654,668,2165,1841,3141,3140,455,2322,
            3143,3146,159,576,267,35,312,2993,6074,749,
            3147,1701,35,2064,3296,3464,3031,35,1077,32,
            5599,4778,27,30,31,1080,1122,26,28,1071,
            294,25,23,50,1177,104,75,76,106,1216,
            1226,1219,3070,603,3677,2337,35,1077,32,6141,
            160,27,30,31,1080,1122,26,28,2115,364,
            545,2261,547,573,4687,577,2347,35,1077,32,
            3055,549,41,30,31,1080,1122,844,3133,2423,
            939,3071,3915,35,310,3148,3141,3140,3147,3444,
            3143,3146,159,576,3328,35,1077,32,5599,4778,
            27,30,31,1080,1122,26,28,1071,294,25,
            23,50,1177,104,75,76,106,1216,1226,1219,
            3070,582,1034,4189,35,1077,32,5599,160,27,
            30,31,1080,1122,26,28,1071,294,25,23,
            50,1177,104,75,76,106,1216,2284,3055,1701,
            35,328,547,573,4687,577,3133,387,3213,3071,
            416,42,3295,5734,3141,3140,1712,2681,3143,3146,
            159,576,267,35,564,3217,6580,5069,3147,3397,
            35,1077,32,5599,3814,27,30,31,1080,1122,
            26,28,1071,294,25,23,50,1177,104,75,
            76,106,1216,1226,1219,1239,1701,35,7515,7511,
            3870,35,310,175,1229,1305,264,1278,1511,1739,
            1414,1546,2159,702,1560,174,67,412,2150,4798,
            548,573,4687,577,3185,35,1077,32,5599,2196,
            27,30,31,1080,1122,26,28,1071,294,25,
            23,50,1177,104,75,76,106,1216,1226,1219,
            1239,1701,35,2064,309,1453,2746,3366,175,1229,
            1305,4019,1278,1511,3085,1414,1546,2159,644,1560,
            174,4096,412,2436,35,1077,32,1701,2065,40,
            30,31,1080,1122,1617,413,2165,376,1701,3778,
            3539,35,1077,32,5599,79,27,30,31,1080,
            1122,26,28,1071,294,25,23,50,1177,104,
            75,76,106,1216,1226,1219,1239,1701,35,315,
            2991,494,1704,3373,175,1229,1305,419,1278,1511,
            389,1414,1546,2159,3814,1560,174,591,412,1011,
            413,2165,3470,35,1077,32,5599,3676,27,30,
            31,1080,1122,26,28,1071,294,25,23,50,
            1177,104,75,76,106,1216,1226,1219,1239,2642,
            35,2064,309,3676,477,3444,175,1229,1305,613,
            1278,1511,420,1414,1546,2150,2160,1560,174,150,
            611,1344,35,1077,32,7306,702,27,30,31,
            1080,1122,57,28,454,614,413,2165,3808,35,
            1077,32,5599,3577,27,30,31,1080,1122,26,
            28,1071,294,25,23,50,1177,104,75,76,
            106,1216,1226,1219,1239,1701,3772,2064,73,323,
            3252,3464,175,1229,1305,472,1278,1511,410,1414,
            1546,3323,2273,1560,174,3830,189,3808,35,1077,
            32,5599,481,27,30,31,1080,1122,26,28,
            1071,294,25,23,50,1177,104,75,76,106,
            1216,1226,1219,1239,747,3794,4158,230,493,3977,
            388,175,1229,1305,2307,1278,1511,591,1414,1546,
            3971,257,1560,174,2360,406,3808,35,1077,32,
            5599,357,27,30,31,1080,1122,26,28,1071,
            294,25,23,50,1177,104,75,76,106,1216,
            1226,1219,1239,267,35,487,72,7445,1701,3451,
            175,1229,1305,609,1278,1511,3062,1414,1546,616,
            2175,1560,174,3456,406,2642,35,2064,3775,61,
            1474,35,1077,32,7306,1406,27,30,31,1080,
            1122,56,28,2423,3694,615,415,3808,35,1077,
            32,5599,829,27,30,31,1080,1122,26,28,
            1071,294,25,23,50,1177,104,75,76,106,
            1216,1226,1219,1239,3875,2246,1357,1701,35,2064,
            311,175,1229,1305,405,1278,1511,424,1414,1546,
            366,461,1560,174,7369,406,3612,35,1077,32,
            5599,4158,27,30,31,1080,1122,26,28,1071,
            294,25,23,50,1177,104,75,76,106,1216,
            1226,1219,1239,3640,3149,44,3295,2150,5585,2187,
            175,1229,1305,404,1278,1511,1866,1414,1546,3149,
            86,1560,174,100,611,3259,35,1077,32,5599,
            4158,27,30,31,1080,1122,26,28,1071,294,
            25,23,50,1177,104,75,76,106,1216,1226,
            1219,1239,1701,35,2064,3782,2150,2150,2837,175,
            1229,1305,3814,1278,1511,1309,1414,1546,361,368,
            1560,174,556,173,4158,480,3871,3875,60,3808,
            35,1077,32,5599,402,27,30,31,1080,1122,
            26,28,1071,294,25,23,50,1177,104,75,
            76,106,1216,1226,1219,1239,1701,35,2064,314,
            6594,1129,425,175,1229,1305,461,1278,1511,1866,
            1414,1546,4096,1941,1560,174,3738,190,3808,35,
            1077,32,5599,2261,27,30,31,1080,1122,26,
            28,1071,294,25,23,50,1177,104,75,76,
            106,1216,1226,1219,1239,1701,35,2064,563,51,
            359,427,175,1229,1305,461,1278,1511,3789,1414,
            1546,2909,368,1560,174,1413,186,610,3808,35,
            1077,32,5599,3789,27,30,31,1080,1122,26,
            28,1071,294,25,23,50,1177,104,75,76,
            106,1216,1226,1219,1239,426,2246,626,70,461,
            55,91,175,1229,1305,848,1278,1511,356,1414,
            1546,1331,625,1560,174,591,185,3808,35,1077,
            32,5599,423,27,30,31,1080,1122,26,28,
            1071,294,25,23,50,1177,104,75,76,106,
            1216,1226,1219,1239,3693,2837,1461,940,1035,55,
            3252,175,1229,1305,926,1278,1511,1866,1414,1546,
            3017,1130,1560,174,1973,184,3808,35,1077,32,
            5599,4224,27,30,31,1080,1122,26,28,1071,
            294,25,23,50,1177,104,75,76,106,1216,
            1226,1219,1239,1701,35,328,3831,229,1222,3464,
            175,1229,1305,481,1278,1511,1866,1414,1546,367,
            368,1560,174,4801,183,3808,35,1077,32,5599,
            1737,27,30,31,1080,1122,26,28,1071,294,
            25,23,50,1177,104,75,76,106,1216,1226,
            1219,1239,747,2246,1283,877,2368,55,3464,175,
            1229,1305,1016,1278,1511,1862,1414,1546,2983,368,
            1560,174,585,182,3808,35,1077,32,5599,4801,
            27,30,31,1080,1122,26,28,1071,294,25,
            23,50,1177,104,75,76,106,1216,1226,1219,
            1239,747,2837,366,2176,3252,3252,7423,175,1229,
            1305,24,1278,1511,1866,1414,1546,3171,4801,1560,
            174,584,181,3808,35,1077,32,5599,3629,27,
            30,31,1080,1122,26,28,1071,294,25,23,
            50,1177,104,75,76,106,1216,1226,1219,1239,
            68,87,233,231,100,55,4565,175,1229,1305,
            7110,1278,1511,1866,1414,1546,363,368,1560,174,
            4801,180,3808,35,1077,32,5599,4801,27,30,
            31,1080,1122,26,28,1071,294,25,23,50,
            1177,104,75,76,106,1216,1226,1219,1239,55,
            3451,1283,53,438,1061,3464,175,1229,1305,721,
            1278,1511,3363,1414,1546,3139,368,1560,174,1863,
            179,3808,35,1077,32,5599,4801,27,30,31,
            1080,1122,26,28,1071,294,25,23,50,1177,
            104,75,76,106,1216,1226,1219,1239,2356,1319,
            2543,35,487,4899,7445,175,1229,1305,52,1278,
            1511,4850,1414,1546,352,3567,1560,174,4801,178,
            3808,35,1077,32,5599,4101,27,30,31,1080,
            1122,26,28,1071,294,25,23,50,1177,104,
            75,76,106,1216,1226,1219,1239,601,55,1399,
            383,3252,55,6465,175,1229,1305,731,1278,1511,
            358,1414,1546,3464,4801,1560,174,4801,177,3808,
            35,1077,32,5599,447,27,30,31,1080,1122,
            26,28,1071,294,25,23,50,1177,104,75,
            76,106,1216,1226,1219,1239,88,55,253,621,
            2353,3578,725,175,1229,1305,2675,1278,1511,1283,
            1414,1546,3912,4801,1560,174,4801,176,3746,35,
            1077,32,5599,2828,27,30,31,1080,1122,26,
            28,1071,294,25,23,50,1177,104,75,76,
            106,1216,1226,1219,1239,3510,55,1405,2679,2833,
            1586,1179,1281,1229,1305,813,1278,1511,366,1414,
            1546,462,7435,3218,195,4189,35,1077,32,5599,
            4801,27,30,31,1080,1122,26,28,1071,294,
            25,23,50,1177,104,75,76,106,1216,1226,
            1219,1239,484,3871,3875,4039,35,313,602,3677,
            1229,1305,2757,1278,1511,3782,1414,1546,366,7465,
            3218,195,7440,1701,35,1771,422,1701,35,1771,
            422,360,1717,2773,2556,3808,35,1077,32,5599,
            2919,27,30,31,1080,1122,26,28,1071,294,
            25,23,50,1177,104,75,76,106,1216,1226,
            1219,1239,583,49,2067,35,430,486,3252,175,
            1229,1305,46,1278,1511,628,1414,1546,3464,3377,
            1560,174,2652,637,3808,35,1077,32,5599,1766,
            27,30,31,1080,1122,26,28,1071,294,25,
            23,50,1177,104,75,76,106,1216,1226,1219,
            1239,55,4163,35,562,5802,1615,4274,175,1229,
            1305,2905,1278,1511,2738,1414,1546,3066,4801,1560,
            174,7507,138,3941,35,1077,32,5599,2527,27,
            30,31,1080,1122,26,28,1071,294,25,23,
            50,1177,104,75,76,106,1216,1226,1219,3070,
            67,642,4189,35,1077,32,5599,160,27,30,
            31,1080,1122,26,28,1071,294,25,23,50,
            1177,104,75,76,106,2310,345,3055,599,595,
            596,597,262,3925,3889,3133,1815,3953,3071,1701,
            35,1771,422,3141,3140,464,4015,3143,3146,159,
            171,3375,3941,35,1077,32,5599,3020,27,30,
            31,1080,1122,26,28,1071,294,25,23,50,
            1177,104,75,76,106,1216,1226,1219,3070,465,
            2668,4189,35,1077,32,5599,160,27,30,31,
            1080,1122,26,28,1071,294,25,23,50,1177,
            104,75,76,106,2333,3022,3055,599,595,596,
            597,55,2060,55,3133,55,1496,3071,1641,55,
            803,4010,3141,3140,1718,4801,3143,3146,159,170,
            3941,35,1077,32,5599,5005,27,30,31,1080,
            1122,26,28,1071,294,25,23,50,1177,104,
            75,76,106,1216,1226,1219,3070,66,1956,4189,
            35,1077,32,5599,160,27,30,31,1080,1122,
            26,28,1071,294,25,23,50,1177,104,75,
            76,106,2359,5009,3055,599,595,596,597,55,
            732,55,3133,55,4544,3071,1782,55,7064,1721,
            3141,3140,1614,4801,3143,3146,159,169,3941,35,
            1077,32,5599,2368,27,30,31,1080,1122,26,
            28,1071,294,25,23,50,1177,104,75,76,
            106,1216,1226,1219,3070,65,1117,4189,35,1077,
            32,5599,160,27,30,31,1080,1122,26,28,
            1071,294,25,23,50,1177,104,75,76,84,
            929,583,3055,599,595,596,597,55,2842,55,
            3133,55,1690,3071,1734,55,1915,2924,3141,3140,
            2013,4801,3143,3146,159,168,3941,35,1077,32,
            5599,4575,27,30,31,1080,1122,26,28,1071,
            294,25,23,50,1177,104,75,76,106,1216,
            1226,1219,3070,64,1839,4189,1881,1077,1916,5599,
            160,27,30,31,1080,1122,26,28,1071,294,
            25,23,50,1177,104,75,76,83,436,357,
            3055,599,595,596,597,55,2354,55,3133,55,
            6732,3071,4903,55,1184,2530,3141,3140,6806,4585,
            3143,3146,159,167,3941,35,1077,32,5599,3252,
            27,30,31,1080,1122,26,28,1071,294,25,
            23,50,1177,104,75,76,106,1216,1226,1219,
            3070,3642,1964,4189,35,1077,32,5599,160,27,
            30,31,1080,1122,26,28,1071,294,25,23,
            50,1177,104,75,76,82,254,2721,3055,599,
            595,596,597,55,2817,55,3133,55,1344,3071,
            981,5104,2062,2961,3141,3140,6335,3392,3143,3146,
            159,166,3941,35,1077,32,5599,3252,27,30,
            31,1080,1122,26,28,1071,294,25,23,50,
            1177,104,75,76,106,1216,1226,1219,3070,618,
            2443,4189,35,1077,32,5599,160,27,30,31,
            1080,1122,26,28,1071,294,25,23,50,1177,
            104,75,76,81,622,3505,3055,599,595,596,
            597,366,366,55,3133,7522,7527,3071,6878,55,
            4050,3067,3141,3140,7439,4801,3143,3146,159,165,
            3941,35,1077,32,5599,3252,27,30,31,1080,
            1122,26,28,1071,294,25,23,50,1177,104,
            75,76,106,1216,1226,1219,3070,2831,2534,4189,
            35,1077,32,5599,160,27,30,31,1080,1122,
            26,28,1071,294,25,23,50,1177,104,75,
            76,80,336,2829,3055,599,595,596,597,55,
            1024,739,3133,547,1722,3071,2271,1456,3114,74,
            3141,3140,1965,4801,3143,3146,159,164,3941,35,
            1077,32,5599,3252,27,30,31,1080,1122,26,
            28,1071,294,25,23,50,1177,104,75,76,
            106,1216,1226,1219,3070,6061,4574,4189,35,1077,
            32,5599,160,27,30,31,1080,1122,26,28,
            1071,294,25,23,50,1177,104,75,76,79,
            333,3306,3055,599,595,596,597,3115,2918,4948,
            3133,3085,3359,3071,1701,35,1771,422,3141,3140,
            96,4801,3143,3146,159,163,3941,35,1077,32,
            5599,3252,27,30,31,1080,1122,26,28,1071,
            294,25,23,50,1177,104,75,76,106,1216,
            1226,1219,3070,6128,468,4189,35,1077,32,5599,
            160,27,30,31,1080,1122,26,28,1071,294,
            25,23,50,1177,104,75,76,78,440,3100,
            3055,3255,3361,3362,2150,2340,3391,3459,3133,2671,
            3573,3071,1701,35,1771,422,3141,3140,2186,4801,
            3143,3146,159,162,3941,35,1077,32,5599,1638,
            27,30,31,1080,1122,26,28,1071,294,25,
            23,50,1177,104,75,76,106,1216,1226,1219,
            3070,6195,467,4189,35,1077,32,5599,160,27,
            30,31,1080,1122,26,28,1071,294,25,23,
            50,1177,104,75,76,77,2261,2995,3055,2067,
            35,430,191,150,3782,3508,3133,2451,7465,3071,
            1701,35,1771,422,3141,3140,1290,4801,3143,3146,
            159,161,4003,35,1077,32,5599,95,27,30,
            31,1080,1122,26,28,1071,294,25,23,50,
            1177,104,75,76,106,1216,1226,1219,3070,355,
            466,3877,35,1077,32,5599,160,27,30,31,
            1080,1122,26,28,1071,294,25,23,50,1177,
            104,75,76,102,2434,3649,3055,3776,2150,4019,
            3025,747,3568,4077,3133,5801,2261,3071,4112,4403,
            3464,4139,3141,3140,7154,319,3143,3146,159,158,
            3808,35,1077,32,5599,5520,27,30,31,1080,
            1122,26,28,1071,294,25,23,50,1177,104,
            75,76,106,1216,1226,1219,1239,2527,3926,2067,
            35,430,3063,2913,175,1229,1305,3221,1278,1511,
            4341,1414,1546,3509,4801,1560,174,4801,220,3109,
            35,1077,32,5599,671,27,30,31,1080,1122,
            26,28,1071,294,25,23,50,1177,104,75,
            76,106,1216,1226,1219,3070,55,3678,385,54,
            376,96,187,2159,394,320,377,1059,814,382,
            414,1214,747,2039,463,375,3534,3254,2155,35,
            1077,32,6141,3299,27,30,31,1080,1122,59,
            28,2261,775,3450,2155,35,1077,32,6141,3252,
            27,30,31,1080,1122,58,28,3887,141,4189,
            35,1077,32,5599,1983,27,30,31,1080,1122,
            26,28,1071,294,25,23,50,1177,104,75,
            76,106,1216,1226,1219,1239,668,2165,3929,3252,
            1603,2261,2261,3777,1229,1305,224,1278,1511,1972,
            1414,1546,4801,4801,3218,195,4189,35,1077,32,
            5599,4801,27,30,31,1080,1122,26,28,1071,
            294,25,23,50,1177,104,75,76,106,1216,
            1226,1219,1239,3222,600,620,332,3778,3910,3182,
            330,1229,1305,619,1278,1511,3674,1414,1546,1399,
            2282,3218,195,4584,4620,4801,4801,4801,4189,35,
            1077,32,5599,640,27,30,31,1080,1122,26,
            28,1071,294,25,23,50,1177,104,75,76,
            106,1216,1226,1219,1239,3007,605,3589,411,2987,
            329,337,3908,1229,1305,3174,1278,1511,3604,1414,
            1546,4801,4801,3218,195,4189,35,1077,32,5599,
            3448,27,30,31,1080,1122,26,28,1071,294,
            25,23,50,1177,104,75,76,106,1216,1226,
            1219,1239,3593,99,6329,3780,3666,3679,2548,3535,
            1229,1305,4032,1278,1511,2645,1414,1546,4094,3712,
            3218,195,4801,4801,4801,4801,4801,4189,35,1077,
            32,5599,457,27,30,31,1080,1122,26,28,
            1071,294,25,23,50,1177,104,75,76,106,
            1216,1226,1219,1239,631,1969,2018,485,632,4156,
            3464,3464,1229,1305,4220,1278,1511,559,1414,1546,
            5103,1355,3218,195,4499,35,1077,32,5599,327,
            27,30,31,1080,1122,26,28,1071,294,25,
            23,50,1177,104,75,76,106,1216,1226,1219,
            1239,3970,589,747,747,4218,3059,3793,4226,1229,
            1305,1502,1278,1511,2983,1414,1546,4287,2352,3218,
            195,936,3735,409,409,3460,4189,35,1077,32,
            5599,456,27,30,31,1080,1122,26,28,1071,
            294,25,23,50,1177,104,75,76,106,1216,
            1226,1219,1239,3914,4225,4201,4263,4491,3295,4325,
            8653,1229,1305,8653,1278,1511,8653,1414,2899,8653,
            8653,8653,8653,4437,35,1077,32,5599,459,27,
            30,31,1080,1122,26,28,1071,294,25,23,
            50,1177,104,75,76,106,1216,1226,1219,3070,
            8653,8653,1994,35,1077,32,7411,5935,27,30,
            31,1080,1122,372,28,8653,3104,8653,8653,8653,
            8653,6743,8653,8653,8653,8653,8653,3055,55,598,
            595,596,597,1418,8653,3133,8653,1351,3071,6475,
            8653,8653,8653,3141,3140,407,2985,3639,384,4650,
            35,1771,422,6364,8653,2955,2067,35,3308,7323,
            1418,187,269,294,648,595,596,597,352,2172,
            354,3149,1716,1728,347,1423,648,595,596,597,
            1701,35,1771,422,365,798,271,294,187,306,
            4527,8653,8653,8653,8653,4019,49,8653,264,669,
            648,595,596,597,8653,1732,8653,4105,8653,1206,
            264,8653,8653,8653,385,276,262,263,8653,8653,
            306,376,377,1059,814,382,8653,267,262,263,
            8653,2228,8653,8653,264,1416,35,1077,32,7411,
            8653,27,30,31,1080,1122,372,28,8653,8653,
            8653,272,262,263,1158,339,343,2371,8653,8653,
            8653,307,598,595,596,597,8653,274,277,280,
            4683,1015,2561,2436,35,1077,32,2261,8653,3163,
            30,31,1080,1122,3735,7008,55,8653,8653,8653,
            8653,1418,373,8653,4043,4007,5008,5581,6434,283,
            8653,352,2172,354,3149,8653,8653,350,1423,8653,
            8653,8653,8653,8653,641,8653,8653,366,8653,2274,
            4189,35,1077,32,5599,6070,27,30,31,1080,
            1122,26,28,1071,294,25,23,50,1177,104,
            75,76,106,1216,1226,1219,1239,8653,8653,8653,
            8653,8653,8653,6137,8653,1229,1305,8653,1278,1511,
            788,2820,4375,35,1077,32,5599,8653,27,30,
            31,1080,1122,26,28,1071,294,25,23,50,
            1177,104,75,76,106,1216,1226,1219,3070,8653,
            8653,1769,35,3837,32,7411,5935,27,30,31,
            1080,1122,372,28,2436,35,1077,32,8653,8653,
            3241,30,31,1080,1122,476,3055,490,598,595,
            596,597,8653,8653,3133,8653,8653,3071,4877,8653,
            8653,8653,3141,3630,4189,35,1077,32,5599,1307,
            27,30,31,1080,1122,26,28,1071,294,25,
            23,50,1177,104,75,76,108,352,2172,354,
            3149,8653,8653,347,1423,8653,598,595,596,597,
            8653,8653,8653,365,776,8653,2874,8653,8653,8653,
            8653,8653,8653,8653,8653,55,8653,8653,8653,8653,
            1418,4189,35,1077,32,5599,4105,27,30,31,
            1080,1122,26,28,1071,294,25,23,50,1177,
            104,75,76,106,1216,1226,1219,1239,3696,8653,
            8653,8653,8653,5340,453,3834,1229,1305,8653,1278,
            2750,4375,35,1077,32,5599,8653,27,30,31,
            1080,1122,26,28,1071,294,25,23,50,1177,
            104,75,76,106,1216,1226,1219,3070,4189,35,
            1077,32,5599,8653,27,30,31,1080,1122,26,
            28,1071,294,25,23,50,1177,104,75,76,
            106,1216,1226,1219,2434,3055,8653,8653,8653,8653,
            8653,3460,8653,3133,8653,8653,3071,8653,8653,8653,
            8653,3561,8653,8653,8653,8653,4189,35,1077,32,
            5599,2851,27,30,31,1080,1122,26,28,1071,
            294,25,23,50,1177,104,75,76,106,1216,
            1226,1219,1239,8653,8653,8653,8653,8653,8653,8653,
            8653,1229,1305,8653,2759,4375,35,1077,32,5599,
            8653,27,30,31,1080,1122,26,28,1071,294,
            25,23,50,1177,104,75,76,106,1216,1226,
            1219,3070,8653,8653,3836,35,1077,32,7380,5935,
            27,30,31,1080,1122,372,28,8653,8653,8653,
            8653,8653,8653,8653,8653,8653,8653,8653,8653,3055,
            8653,598,595,596,597,8653,8653,3133,8653,8653,
            3567,6559,8653,4189,35,1077,32,5599,8653,27,
            30,31,1080,1122,26,28,1071,294,25,23,
            50,1177,104,75,76,106,1216,1226,1219,1239,
            352,2172,354,8653,8653,8653,347,1423,1229,2672,
            8653,8653,4375,35,1077,32,5599,798,27,30,
            31,1080,1122,26,28,1071,294,25,23,50,
            1177,104,75,76,106,1216,1226,1219,3070,4375,
            35,1077,32,5599,8653,27,30,31,1080,1122,
            26,28,1071,294,25,23,50,1177,104,75,
            76,106,1216,1226,1219,3070,3055,8653,8653,832,
            8653,8653,8653,2572,3507,8653,8653,2195,8653,8653,
            8653,8653,5801,8653,8653,8653,8653,339,343,2371,
            8653,8653,8653,3513,8653,8653,598,595,596,597,
            598,595,596,597,8653,8653,2561,8653,8653,2929,
            2640,4189,35,1077,32,5599,3735,27,30,31,
            1080,1122,26,28,1071,294,25,23,50,1177,
            104,75,76,106,1216,1226,1219,1239,3673,8653,
            8653,4189,35,1077,32,5599,2695,27,30,31,
            1080,1122,26,28,1071,294,25,23,50,1177,
            104,75,76,106,1216,1226,1219,1239,4756,35,
            551,8653,8653,8653,8653,385,2743,8653,8653,8653,
            8653,269,294,377,1059,814,382,8653,8653,8653,
            8653,8653,575,8653,8653,648,595,596,597,4375,
            35,1077,32,5599,8653,27,30,31,1080,1122,
            26,28,1071,294,25,23,50,1177,104,75,
            76,106,1216,1226,1219,3070,8653,8653,8653,264,
            8653,8653,8653,2913,35,1077,32,7380,4261,27,
            30,31,1080,1122,372,28,267,262,263,8653,
            765,8653,8653,3547,1546,35,1077,32,7380,5935,
            27,30,31,1080,1122,372,28,2943,35,3837,
            32,7380,5935,27,30,31,1080,1122,372,28,
            437,598,595,596,597,8653,274,277,280,4683,
            1015,6559,4026,3313,3884,595,596,597,4019,349,
            3445,354,8653,4583,5045,8653,8653,8653,1418,742,
            35,1771,422,5577,6271,6428,6983,6725,8653,8653,
            352,2172,354,8653,5520,8653,347,1423,8653,8653,
            8653,8653,8653,352,2172,354,191,798,3313,347,
            1423,8653,8653,4019,8653,2243,35,328,8653,306,
            776,1983,35,3837,32,7380,5935,27,30,31,
            1080,1122,372,28,560,561,565,8653,8653,5520,
            8653,1224,598,595,596,597,1418,8653,598,595,
            596,597,2874,2367,35,1077,32,7380,5045,27,
            30,31,1080,1122,372,28,7208,8653,1481,5616,
            453,3834,8653,539,187,8653,8653,340,343,2371,
            599,595,596,597,2130,2837,2357,352,2172,354,
            8653,3452,8653,347,1423,648,595,596,597,8653,
            8653,8653,8653,8653,776,2092,35,3837,32,7380,
            5935,27,30,31,1080,1122,372,28,539,352,
            2172,354,71,536,538,659,1423,8653,8653,264,
            8653,55,3884,595,596,597,1418,8653,8653,8653,
            4309,8653,5045,8653,8653,8653,279,262,263,8653,
            8653,8653,8653,5834,453,3834,8653,8653,3895,8653,
            8653,8653,8653,8653,187,8653,8653,2478,537,538,
            8653,352,2172,354,8653,2528,8653,347,1423,8653,
            8653,8653,2828,4189,35,1077,32,5599,776,27,
            30,31,1080,1122,26,28,1071,294,25,23,
            50,1177,104,75,76,106,1216,1226,1219,2482,
            4189,35,1077,32,5599,8653,27,30,31,1080,
            1122,26,28,1071,294,25,23,50,1177,104,
            75,76,106,1216,1226,1219,2524,5616,453,3834,
            4189,35,1077,32,5599,8653,27,30,31,1080,
            1122,26,28,1071,294,25,23,50,1177,104,
            75,76,106,1216,1226,1219,2594,4189,35,1077,
            32,5599,8653,27,30,31,1080,1122,26,28,
            1071,294,25,23,50,1177,104,75,76,106,
            1216,1226,1219,2597,4189,35,1077,32,5599,8653,
            27,30,31,1080,1122,26,28,1071,294,25,
            23,50,1177,104,75,76,106,1216,1226,1219,
            2606,286,4583,8653,8653,8653,671,1418,8653,1416,
            35,1077,32,7411,8653,27,30,31,1080,1122,
            372,28,55,8653,8653,8653,8653,1418,8653,8653,
            8653,8653,260,8653,187,191,598,595,596,597,
            8653,8653,2059,8653,747,738,4993,8653,211,8653,
            8653,235,247,7273,8653,187,234,244,245,246,
            248,647,8653,8653,200,8653,2685,8653,1,598,
            595,596,597,671,8653,352,2172,354,3149,3030,
            2172,348,1423,8653,8653,8653,8653,199,8653,8653,
            8653,366,214,198,201,202,203,204,205,260,
            8653,187,8653,8653,8653,8653,8653,598,595,596,
            597,747,738,2186,8653,211,8653,3108,235,247,
            7273,8653,8653,234,244,245,246,248,647,8653,
            8653,200,4065,35,1077,32,5599,8653,27,30,
            31,1080,1122,26,28,1071,294,25,23,50,
            1177,634,75,76,199,8653,8653,8653,8653,215,
            198,201,202,203,204,205,8653,212,4189,35,
            1077,32,5599,8653,27,30,31,1080,1122,26,
            28,1071,294,25,23,50,1177,104,75,76,
            106,1216,1226,1219,3453,8653,8653,8653,8653,8653,
            8653,8653,8653,8653,8653,8653,4189,35,1077,32,
            5599,5328,27,30,31,1080,1122,26,28,1071,
            294,25,23,50,1177,104,75,76,106,1216,
            1226,1219,3458,4189,35,1077,32,5599,8653,27,
            30,31,1080,1122,26,28,1071,294,25,23,
            50,1177,104,75,76,106,1216,1226,1219,3461,
            2180,35,1077,32,7380,5868,27,30,31,1080,
            1122,372,28,4189,35,1077,32,5599,8653,27,
            30,31,1080,1122,26,28,1071,294,25,23,
            50,1177,104,75,76,106,1216,1226,1219,3566,
            8653,8653,8653,8653,3498,35,1077,32,7380,7263,
            27,30,31,1080,1122,372,28,1854,8653,8653,
            8653,2051,8653,8653,8653,1705,352,2172,354,5940,
            271,294,347,1423,8653,8653,384,8653,8653,1583,
            35,1771,422,3690,648,595,596,597,648,595,
            596,597,598,595,596,597,2630,8653,385,8653,
            8653,8653,2561,8653,8653,8653,377,1059,814,382,
            352,2172,354,8653,8653,3689,347,1423,264,49,
            8653,8653,264,598,595,596,597,3387,1732,8653,
            8653,8653,746,3186,3149,272,262,263,8653,282,
            262,263,385,8653,8653,8653,8653,6002,8653,8653,
            377,1059,814,382,4189,35,1077,32,5599,2228,
            27,30,31,1080,1122,26,28,1071,294,25,
            23,50,1177,104,75,76,106,1216,1226,2617,
            4189,35,1077,32,5599,8653,27,30,31,1080,
            1122,26,28,1071,294,25,23,50,1177,104,
            75,76,106,1216,1226,2665,381,2191,8653,8653,
            8653,671,4019,8653,1705,55,399,8653,5940,8653,
            671,8653,1522,35,1077,32,7380,5935,27,30,
            31,1080,1122,372,28,4583,92,260,376,187,
            1418,598,595,596,597,8653,376,1830,187,747,
            738,2561,8653,211,8653,8653,235,247,7273,219,
            8653,234,244,245,246,248,647,8653,191,200,
            8653,1663,8653,476,598,595,596,597,671,6951,
            8653,1705,4913,3149,2718,5940,8653,1418,352,2172,
            354,8653,199,8653,347,1423,365,3386,198,201,
            202,203,204,205,260,3387,187,8653,598,595,
            596,597,8653,8653,2726,187,747,738,2561,6203,
            211,8653,8653,235,247,7273,193,8653,234,244,
            245,246,248,647,8653,8653,200,8653,8653,3153,
            571,598,595,596,597,671,3514,8653,1705,8653,
            3149,3108,5940,1701,35,1771,422,8653,8653,199,
            8653,8653,8653,365,209,198,201,202,203,204,
            205,260,8653,187,8653,598,595,596,597,8653,
            8653,8653,8653,747,738,2561,7297,211,8653,8653,
            235,247,7273,49,8653,234,244,245,246,248,
            647,8653,1732,200,8653,8653,1265,666,8653,8653,
            8653,8653,671,8653,2262,1705,8653,3149,8653,5940,
            1701,35,1771,422,1630,8653,199,8653,8653,8653,
            365,207,198,201,202,203,204,205,260,8653,
            187,8653,598,595,596,597,8653,8653,8653,8653,
            747,738,2561,733,211,8653,8653,235,247,7273,
            49,1461,234,244,245,246,248,647,8653,1732,
            200,8653,8653,4679,761,8653,8653,8653,8653,671,
            8653,8653,3709,8653,3149,8653,5940,1701,35,1771,
            422,3742,8653,199,8653,8653,8653,365,639,198,
            201,202,203,204,205,260,8653,187,8653,598,
            595,596,597,8653,8653,8653,8653,747,738,2561,
            5269,211,8653,8653,235,247,7273,49,8653,234,
            244,245,246,248,647,8653,1732,200,8653,8653,
            1210,856,55,55,8653,8653,671,1418,1418,8653,
            2435,3149,8653,8653,1701,35,1771,422,8653,8653,
            199,8653,8653,8653,6002,208,198,201,202,203,
            204,205,260,8653,187,187,187,648,595,596,
            597,8653,8653,8653,747,738,2763,2841,211,8653,
            8653,235,247,7273,49,8653,234,244,245,246,
            248,647,8653,1732,200,8653,8653,1082,951,8653,
            55,264,8653,671,8653,1418,8653,2531,8653,8653,
            8653,1701,35,1771,422,8653,8653,199,285,262,
            263,8653,218,198,201,202,203,204,205,260,
            8653,187,8653,187,648,595,596,597,8653,8653,
            8653,747,738,94,3633,211,8653,8653,235,247,
            7273,49,8653,234,244,245,246,248,647,8653,
            1732,200,8653,8653,746,1046,4583,8653,264,8653,
            671,1418,8653,3425,55,8653,8653,5940,8653,671,
            8653,8653,8653,8653,199,643,262,263,8653,3841,
            198,201,202,203,204,205,260,8653,187,191,
            598,595,596,597,8653,376,55,187,747,738,
            2561,1418,211,8653,8653,235,247,7273,219,8653,
            234,244,245,246,248,647,8653,8653,200,8653,
            8653,8653,1141,8653,8653,8653,8653,671,6951,187,
            8653,2627,3149,8653,8653,8653,8653,8653,8653,8653,
            3294,199,8653,8653,8653,366,223,198,201,202,
            203,204,205,260,8653,187,8653,8653,648,595,
            596,597,8653,8653,8653,747,738,3517,8653,211,
            8653,8653,235,247,7273,8653,8653,234,244,245,
            246,248,647,8653,8653,200,8653,8653,3231,1236,
            8653,8653,264,8653,671,2860,35,1077,32,7380,
            5868,27,30,31,1080,1122,372,28,199,276,
            262,263,8653,217,198,201,202,203,204,205,
            260,8653,187,8653,1953,35,1771,422,2243,3892,
            328,8653,747,738,8653,8653,211,8653,8653,235,
            247,7273,2764,8653,234,244,245,246,248,647,
            8653,8653,200,8653,8653,598,595,596,597,8653,
            8653,352,2172,354,49,2874,8653,347,1423,598,
            595,596,597,1732,8653,199,8653,3211,586,2561,
            226,198,201,202,203,204,205,55,2723,8653,
            8653,8653,1418,385,4703,35,1771,422,6364,8653,
            8653,377,1059,814,382,794,8653,270,294,8653,
            587,3673,8653,8653,8653,648,595,596,597,8653,
            187,648,595,596,597,4800,1283,4583,4583,8653,
            4019,3695,1418,1418,306,3137,35,1077,32,7380,
            5935,27,30,31,1080,1122,372,28,8653,264,
            8653,8653,8653,4309,8653,264,5520,8653,8653,8653,
            191,191,599,595,596,597,279,262,263,8653,
            8653,8653,268,262,263,4189,35,1077,32,5599,
            2478,27,30,31,1080,1122,26,28,1071,294,
            25,23,50,1177,104,75,76,107,8653,8653,
            8653,352,2172,354,8653,8653,307,347,1423,8653,
            8653,8653,275,278,281,4683,1015,8653,5302,2476,
            35,1077,32,7380,5935,27,30,31,1080,1122,
            372,28,8653,8653,8653,393,8653,8653,3741,3795,
            1701,35,1771,422,284,8653,599,595,596,597,
            8653,3075,3319,3367,4189,35,1077,32,5599,642,
            27,30,31,1080,1122,26,28,1071,294,25,
            23,50,1177,104,75,76,103,8653,8653,8653,
            49,8653,8653,8653,8653,352,2172,354,8653,1732,
            8653,347,1423,2512,8653,8653,8653,4065,35,1077,
            32,5599,5302,27,30,31,1080,1122,26,28,
            1071,294,25,23,50,1177,633,75,76,4127,
            35,1077,32,5599,8653,27,30,31,1080,1122,
            26,28,1071,294,25,23,50,1177,85,75,
            76,4251,35,1077,32,5599,8653,27,30,31,
            1080,1122,26,28,1071,294,25,23,50,1177,
            644,75,76,4313,35,1077,32,5599,8653,27,
            30,31,1080,1122,26,28,1071,294,25,23,
            50,1177,3219,75,76,4809,35,551,3176,35,
            1771,422,1912,8653,8653,8653,8653,4019,270,294,
            8653,8653,8653,5051,8653,8653,8653,5940,4019,8653,
            8653,8653,648,595,596,597,8653,8653,8653,8653,
            8653,8653,8653,260,3356,8653,8653,8653,49,671,
            598,595,596,597,5520,8653,8653,1732,8653,8653,
            2561,1930,237,247,7273,8653,264,236,244,245,
            246,248,647,8653,8653,376,8653,187,8653,8653,
            8653,8653,8653,268,262,263,2200,747,2039,794,
            8653,4019,3149,8653,8653,8653,8653,8653,8653,238,
            240,242,3686,8653,8653,365,8653,775,3450,8653,
            8653,8653,249,239,241,8653,8653,260,8653,8653,
            8653,8653,8653,275,278,281,4683,1015,7297,2137,
            8653,8653,8653,393,8653,3356,237,247,7273,8653,
            671,236,244,245,246,248,647,8653,8653,2326,
            3319,3367,8653,927,3581,8653,7000,8653,2296,8653,
            8653,8653,55,4019,8653,8653,376,671,187,8653,
            8653,8653,8653,238,240,242,3686,8653,747,2039,
            598,595,596,597,8653,8653,249,239,241,260,
            2561,8653,8653,376,8653,187,8653,8653,775,3450,
            8653,560,561,566,8653,8653,219,8653,237,247,
            7273,8653,8653,236,244,245,246,248,647,2008,
            2323,8653,362,8653,4019,927,6951,8653,3631,8653,
            7000,2145,35,1077,32,7380,5935,27,30,31,
            1080,1122,372,28,8653,238,240,242,3686,8653,
            260,8653,598,595,596,597,8653,8653,249,239,
            241,8653,2561,2819,8653,8653,8653,8653,8653,237,
            247,7273,8653,8653,236,244,245,246,248,647,
            2104,8653,8653,8653,8653,4019,3309,8653,1022,8653,
            648,595,596,597,2511,8653,2488,352,2172,354,
            3632,4019,7000,347,1423,8653,238,240,242,3686,
            8653,260,8653,8653,3785,598,595,596,597,578,
            239,241,8653,8653,264,2796,8653,260,8653,8653,
            237,247,7273,8653,8653,236,244,245,246,248,
            647,282,262,263,4800,8653,237,247,7273,4019,
            8653,236,244,245,246,248,647,2584,4566,8653,
            8653,8653,4019,671,8653,8653,8653,238,240,242,
            3686,8653,8653,2680,8653,5520,8653,8653,4019,8653,
            250,239,241,238,240,242,3686,8653,260,376,
            1660,187,8653,8653,7532,4019,667,239,241,8653,
            8653,8653,219,8653,260,8653,8653,237,247,7273,
            8653,8653,236,244,245,246,248,647,2671,8653,
            8653,260,6951,237,247,7273,8653,8653,236,244,
            245,246,248,647,2776,8653,8653,8653,8653,4019,
            2116,441,4843,8653,238,240,242,3686,8653,8653,
            2872,8653,8653,8653,393,4019,8653,666,239,241,
            238,240,242,3686,8653,260,8653,8653,8653,8653,
            3697,3319,3367,665,239,241,8653,442,443,444,
            3686,260,221,8653,237,247,7273,8653,5060,236,
            244,245,246,248,647,8653,8653,8653,3862,8653,
            237,247,7273,671,8653,236,244,245,246,248,
            647,8653,8653,3678,8653,648,595,596,597,8653,
            8653,238,240,242,3686,8653,8653,8653,8653,2749,
            8653,187,8653,8653,338,239,241,238,240,242,
            3686,8653,738,5051,8653,211,8653,5940,4019,264,
            533,239,241,1392,35,1077,32,7380,3972,27,
            30,31,1080,1122,372,28,567,262,263,2468,
            598,595,596,597,5520,8653,8653,3287,445,447,
            2561,5940,8653,8653,227,8653,2052,35,1771,422,
            8653,1786,55,8653,8653,7532,4019,4019,8653,8653,
            8653,8653,8653,1713,598,595,596,597,1793,8653,
            8653,7311,3149,8653,2561,2052,35,1771,422,349,
            3445,354,260,376,8653,365,49,8653,8653,8653,
            598,595,596,597,8653,1732,8653,8653,8653,2077,
            2796,2116,441,4843,8653,8653,3149,8653,733,1953,
            35,1771,422,393,8653,49,3450,8653,8653,366,
            1953,35,1771,422,1732,8653,8653,4919,47,2326,
            3319,3367,8653,8653,8653,385,8653,1917,442,443,
            444,3686,8653,379,1059,814,382,8653,8653,49,
            8653,1953,35,1771,422,8653,2405,8653,1732,8653,
            49,8653,47,2739,35,1771,422,5107,8653,1732,
            7078,228,4019,2235,3678,2052,35,1771,422,4563,
            2834,35,1771,422,4019,1953,35,1771,422,8653,
            1327,49,8653,2673,8653,8653,2357,8653,376,590,
            1732,4050,8653,49,6382,1953,35,1771,422,8653,
            5520,8653,1732,8653,8653,49,47,8653,8653,8653,
            49,8653,8653,8653,1732,49,8653,8653,47,1732,
            8653,3450,4050,47,1732,8653,8653,8653,47,445,
            448,8653,8653,8653,1149,49,8653,1953,35,1771,
            422,1022,593,8653,1732,2575,4143,8653,47,8653,
            8653,1963,1953,35,1771,422,2427,1953,35,1771,
            422,8653,1701,35,1771,422,927,8653,598,595,
            596,597,598,595,596,597,2599,49,2796,539,
            8653,8653,2796,55,8653,8653,1732,8653,4019,8653,
            47,8653,49,598,595,596,597,49,8653,8653,
            8653,1732,49,2561,8653,47,1732,8653,55,8653,
            47,1732,55,4019,376,2433,8653,4019,3224,55,
            55,55,55,8653,4019,4019,4019,4019,8653,536,
            538,8653,8653,3302,8653,2835,8653,8653,3380,376,
            8653,8653,8653,376,8653,8653,8653,3450,8653,8653,
            376,376,376,376,8653,8653,8653,8653,8653,8653,
            8653,8653,8653,8653,3927,8653,8653,8653,1918,8653,
            8653,2827,3450,8653,8653,2829,3450,8653,8653,8653,
            8653,8653,8653,3450,3450,3450,3450,3840,8653,8653,
            8653,8653,8653,1931,8653,8653,8653,1934,8653,8653,
            8653,8653,8653,8653,2380,543,541,594,8653,0,
            39,8668,0,39,8667,0,1870,29,0,474,
            1919,0,488,2017,0,38,914,0,38,8668,
            0,38,8667,0,8716,74,0,8715,74,0,
            1401,74,0,1570,74,0,5262,74,0,3998,
            74,0,5207,124,0,1,478,0,492,1228,
            0,491,1395,0,8661,1,0,4156,89,0,
            1870,421,0,35,33,0,32,34,0,39,
            914,0,1,714,0,1,8958,0,1,8957,
            0,1,8956,0,1,8955,0,1,8954,0,
            1,8953,0,1,8952,0,1,8951,0,1,
            8950,0,1,8949,0,1,8948,0,1,9316,
            0,1,9315,0,39,1,8668,0,39,1,
            8667,0,8919,255,0,8918,255,0,1968,255,
            0,1990,255,0,2025,255,0,9317,255,0,
            9024,255,0,9023,255,0,8946,255,0,8945,
            255,0,8944,255,0,8943,255,0,8942,255,
            0,8941,255,0,8940,255,0,8939,255,0,
            8919,256,0,8918,256,0,1968,256,0,1990,
            256,0,2025,256,0,9317,256,0,9024,256,
            0,9023,256,0,8946,256,0,8945,256,0,
            8944,256,0,8943,256,0,8942,256,0,8941,
            256,0,8940,256,0,8939,256,0,8919,257,
            0,8918,257,0,1968,257,0,1990,257,0,
            2025,257,0,9317,257,0,9024,257,0,9023,
            257,0,8946,257,0,8945,257,0,8944,257,
            0,8943,257,0,8942,257,0,8941,257,0,
            8940,257,0,8939,257,0,2025,428,0,1990,
            428,0,1968,428,0,316,428,0,8919,258,
            0,8918,258,0,1968,258,0,1990,258,0,
            2025,258,0,9317,258,0,9024,258,0,9023,
            258,0,8946,258,0,8945,258,0,8944,258,
            0,8943,258,0,8942,258,0,8941,258,0,
            8940,258,0,8939,258,0,316,321,0,8919,
            259,0,8918,259,0,1968,259,0,1990,259,
            0,2025,259,0,9317,259,0,9024,259,0,
            9023,259,0,8946,259,0,8945,259,0,8944,
            259,0,8943,259,0,8942,259,0,8941,259,
            0,8940,259,0,8939,259,0,8668,48,0,
            8667,48,0,8919,646,0,8918,646,0,1968,
            646,0,1990,646,0,2025,646,0,9317,646,
            0,9024,646,0,9023,646,0,8946,646,0,
            8945,646,0,8944,646,0,8943,646,0,8942,
            646,0,8941,646,0,8940,646,0,8939,646,
            0,8919,273,0,8918,273,0,1968,273,0,
            1990,273,0,2025,273,0,9317,273,0,9024,
            273,0,9023,273,0,8946,273,0,8945,273,
            0,8944,273,0,8943,273,0,8942,273,0,
            8941,273,0,8940,273,0,8939,273,0,8958,
            273,0,8957,273,0,8956,273,0,8955,273,
            0,8954,273,0,8953,273,0,8952,273,0,
            8951,273,0,8950,273,0,8949,273,0,8948,
            273,0
        };
    };

    public interface BaseAction1 {
        public final static char baseAction1[] = {
            9316,273,0,9315,273,0,39,8668,273,0,
            39,8667,273,0,8691,273,0,8665,417,0,
            8664,417,0,8659,1,0,8658,1,0,4913,
            269,0,32,422,0,29,421,0,1,261,
            3222,0,8662,261,0,3230,261,0,1,261,
            755,0,1,261,0,43,8689,0,43,37,
            0,5207,126,0,5207,125,0,1,5392,0,
            1,6637,0,1,6659,0,1,2797,0,1,
            2953,0,1,3031,0,1,3109,0,1,3187,
            0,1,3265,0,1,3343,0,1066,1,0,
            1,4060,0,1,2875,0,1,8675,0,1,
            8674,0,1,8673,0,1,8672,0,1,8671,
            0,1,8670,0,1,8669,0,1,832,0,
            1,843,0,1,921,0,1,992,0,1,
            1009,0,1,3519,0,39,1,0,2025,479,
            0,1990,479,0,1968,479,0,8691,479,0,
            364,479,0,39,479,0,2025,658,0,1990,
            658,0,1968,658,0,2025,656,0,1990,656,
            0,1968,656,0,660,656,0,660,655,0,
            1,2025,0,1,1990,0,1,1968,0,8691,
            1,0,47,37,0,634,644,0,3372,261,
            0,10,12,0,1,5742,0,1,914,0,
            1,90,0,1968,568,0,1990,568,0,2025,
            568,0,1968,569,0,1990,569,0,2025,569,
            0,1968,570,0,1990,570,0,2025,570,0,
            1968,571,0,1990,571,0,2025,571,0,1968,
            572,0,1990,572,0,2025,572,0,8668,273,
            0,8667,273,0,2025,364,0,1990,364,0,
            1968,364,0,535,3679,0,8691,1,261,0,
            39,1,261,0,261,450,0,8668,37,0,
            8667,37,0,8668,2,37,0,8667,2,37,
            0,8668,36,0,8667,36,0,8,10,12,
            0,3732,225,0,1,364,0,6236,98,0,
            8689,45,0,37,45,0,8663,439,0,8662,
            439,0,261,449,0,8665,645,417,0,8664,
            645,417,0,2753,351,0,1,658,0,6467,
            101,0,3646,97,0,2025,93,0,1990,93,
            0,1968,93,0,8691,93,0,364,93,0,
            39,93,0,35,72,0,9317,369,0,9024,
            369,0,9023,369,0,5755,311,0,535,6939,
            0,3888,417,0,216,6262,0,261,252,0,
            1,2464,0,1,3369,0,2025,653,0,1990,
            653,0,1968,653,0,2025,652,0,1990,652,
            0,1968,652,0,598,599,0,8,12,0,
            261,251,0,8665,1,0,2025,653,654,0,
            1990,653,654,0,1968,653,654,0,653,654,
            0
        };
    };

    public final static char baseAction[] = new char[BaseAction0.baseAction0.length + BaseAction1.baseAction1.length];
    {
        int index = 0;
        System.arraycopy(BaseAction0.baseAction0, 0, baseAction, index, BaseAction0.baseAction0.length);
        index += BaseAction0.baseAction0.length;
        System.arraycopy(BaseAction1.baseAction1, 0, baseAction, index, BaseAction1.baseAction1.length);
    };
    @Override
    public final int baseAction(int index) { return baseAction[index]; }
    public final static char lhs[] = baseAction;
    @Override
    public final int lhs(int index) { return lhs[index]; };

    public interface TermCheck {
        public final static char termCheck[] = {0,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,0,55,56,57,58,59,
            60,61,62,63,64,65,0,67,68,69,
            70,0,72,0,74,75,10,0,0,79,
            3,81,82,10,11,85,86,87,88,89,
            90,91,92,93,94,0,1,2,3,4,
            5,6,7,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,27,28,29,30,31,32,33,34,
            35,36,37,38,39,40,41,42,43,44,
            45,46,47,48,49,50,51,52,53,0,
            55,56,57,58,59,60,61,62,63,64,
            65,0,67,68,69,70,0,72,0,74,
            75,0,106,107,79,104,81,82,100,101,
            85,86,87,88,89,90,91,92,93,94,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,73,55,56,57,58,59,
            60,61,62,63,64,65,0,67,68,69,
            70,0,72,0,74,75,0,1,2,79,
            4,81,82,0,13,85,86,87,88,89,
            90,91,92,93,94,0,1,2,3,4,
            5,6,7,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,27,28,29,30,31,32,33,34,
            35,36,37,38,39,40,41,42,43,44,
            45,46,47,48,49,50,51,52,53,66,
            55,56,57,58,59,60,61,62,63,64,
            65,0,67,68,69,70,0,72,102,74,
            75,10,99,0,79,0,3,82,105,4,
            85,86,87,88,89,90,91,92,93,94,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,71,55,56,57,58,59,
            60,61,62,63,64,65,0,67,68,69,
            70,0,72,0,74,75,10,106,107,79,
            104,0,82,0,3,85,86,87,88,89,
            90,91,92,93,94,0,1,2,3,4,
            5,6,7,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,27,28,29,30,31,32,33,34,
            35,36,37,38,39,40,41,42,43,44,
            45,46,47,48,49,50,51,52,53,66,
            55,56,57,58,59,60,61,62,63,64,
            65,80,67,68,69,70,0,72,0,74,
            75,3,106,107,79,0,103,82,0,4,
            85,86,87,88,89,90,91,92,93,94,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,66,55,56,57,58,59,
            60,61,62,63,64,65,78,67,68,69,
            70,0,72,0,74,75,5,6,7,79,
            104,0,82,0,11,85,86,87,88,89,
            90,91,92,93,94,0,1,2,3,4,
            5,6,7,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,27,28,29,30,31,32,33,34,
            35,36,37,38,39,40,41,42,43,44,
            45,46,47,48,49,50,51,52,53,66,
            55,56,57,58,59,60,61,62,63,64,
            65,0,67,68,69,70,0,72,0,74,
            75,0,1,2,79,0,0,82,0,8,
            85,86,87,88,89,90,91,92,93,94,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,66,55,56,57,58,59,
            60,61,62,63,64,65,80,67,68,69,
            70,0,72,102,74,75,5,6,7,79,
            102,0,82,0,3,85,86,87,88,89,
            90,91,92,93,94,0,1,2,3,4,
            5,6,7,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,27,28,29,30,31,32,33,34,
            35,36,37,38,39,40,41,42,43,44,
            45,46,47,48,49,50,51,52,53,66,
            55,56,57,58,59,60,61,62,63,64,
            65,0,67,68,69,70,0,72,0,74,
            75,5,6,7,79,0,1,82,0,0,
            85,86,87,88,89,90,91,92,93,94,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,66,55,56,57,58,59,
            60,61,62,63,64,65,77,67,68,69,
            70,0,72,0,74,75,5,6,7,79,
            0,103,82,0,0,85,86,87,88,89,
            90,91,92,93,94,0,1,2,3,4,
            5,6,7,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,27,28,29,30,31,32,33,34,
            35,36,37,38,39,40,41,42,43,44,
            45,46,47,48,49,50,51,52,53,66,
            55,56,57,58,59,60,61,62,63,64,
            65,77,67,68,69,70,0,72,0,74,
            75,5,6,7,79,0,103,82,0,0,
            85,86,87,88,89,90,91,92,93,94,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,66,55,56,57,58,59,
            60,61,62,63,64,65,77,67,68,69,
            70,0,72,0,74,75,5,6,7,79,
            0,0,82,0,3,85,86,87,88,89,
            90,91,92,93,94,0,1,2,3,4,
            5,6,7,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,27,28,29,30,31,32,33,34,
            35,36,37,38,39,40,41,42,43,44,
            45,46,47,48,49,50,51,52,53,0,
            55,56,57,58,59,60,61,62,63,64,
            65,78,67,68,69,70,0,72,0,74,
            75,5,6,7,79,102,8,82,0,1,
            85,86,87,88,89,90,91,92,93,94,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,0,1,2,28,4,0,129,
            0,8,9,0,0,5,6,7,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,82,42,43,44,45,0,47,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,0,1,2,3,4,66,54,0,8,
            9,71,72,73,0,0,76,77,78,79,
            80,81,0,83,84,0,1,2,3,4,
            5,6,7,8,9,13,96,97,98,99,
            100,101,102,103,104,105,106,107,108,109,
            110,111,112,113,114,115,116,117,118,119,
            120,121,0,1,2,0,126,127,128,129,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,0,1,2,71,4,80,67,
            0,8,9,79,130,5,6,7,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,0,42,43,44,45,54,47,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,0,1,2,3,4,66,54,73,8,
            9,71,72,73,0,0,76,77,78,79,
            80,81,41,83,84,0,1,2,3,4,
            5,6,7,8,9,54,96,97,98,99,
            100,101,102,103,104,105,106,107,108,109,
            110,111,112,113,114,115,116,117,118,119,
            120,121,0,1,2,0,126,127,128,129,
            0,1,2,3,4,5,6,7,8,9,
            10,11,0,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,0,48,49,
            50,51,52,53,0,55,56,57,58,59,
            60,61,62,63,64,65,74,75,68,0,
            1,2,3,4,5,6,7,8,9,10,
            11,12,13,14,15,16,17,18,19,20,
            21,22,23,24,25,26,27,28,29,30,
            31,32,33,34,35,36,37,38,39,40,
            0,1,2,0,0,103,47,122,4,5,
            6,7,0,54,10,11,4,5,6,7,
            0,62,63,64,65,0,67,0,69,70,
            0,11,5,6,7,98,0,78,0,3,
            81,14,15,16,17,18,19,20,21,22,
            23,24,25,26,95,28,29,30,31,32,
            33,34,35,36,37,38,39,40,0,1,
            2,3,4,5,6,7,8,9,10,11,
            42,43,123,124,125,0,1,2,3,4,
            5,6,7,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,27,28,29,30,31,32,33,34,
            35,36,37,38,39,40,123,124,125,0,
            1,2,47,4,5,6,7,0,0,54,
            0,1,2,5,6,7,78,62,63,64,
            65,0,67,0,69,70,0,0,5,6,
            7,0,0,78,3,3,81,14,15,16,
            17,18,19,20,21,22,23,24,25,26,
            95,28,29,30,31,32,33,34,35,36,
            37,38,39,40,54,0,1,2,3,4,
            5,6,7,8,9,10,11,0,123,124,
            125,0,1,2,3,4,5,6,7,8,
            9,10,11,12,13,14,15,16,17,18,
            19,20,21,22,23,24,25,26,27,28,
            29,30,31,32,33,34,35,36,37,38,
            39,40,0,1,2,0,1,2,47,4,
            5,6,7,0,0,54,71,0,5,6,
            7,0,0,62,63,64,65,0,67,12,
            69,70,0,1,2,3,4,5,6,7,
            8,9,81,0,1,2,3,4,5,6,
            7,8,9,10,11,41,95,0,1,2,
            3,4,5,6,7,8,9,10,11,12,
            13,14,15,16,17,18,19,20,21,22,
            23,24,25,26,27,28,29,30,31,32,
            33,34,35,36,37,38,39,40,81,77,
            0,0,1,2,47,5,6,7,0,0,
            78,54,0,5,6,7,0,1,2,62,
            63,64,65,66,67,104,69,70,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,0,1,2,3,4,5,6,7,8,
            9,0,95,0,1,2,3,4,5,6,
            7,8,9,10,11,12,13,14,15,16,
            17,18,19,20,21,22,23,24,25,26,
            27,28,29,30,31,32,33,34,35,36,
            37,38,39,40,0,1,2,3,4,0,
            47,0,8,9,0,1,2,54,4,100,
            101,12,8,9,0,62,63,64,65,78,
            67,0,69,70,0,0,5,6,7,0,
            1,2,3,4,81,0,0,8,9,4,
            0,12,0,3,0,0,4,3,95,0,
            1,2,3,4,5,6,7,8,9,10,
            11,12,13,14,15,16,17,18,19,20,
            21,22,23,24,25,26,27,28,29,30,
            31,32,33,34,35,36,37,38,39,40,
            0,66,0,1,2,0,47,5,6,7,
            71,66,73,54,80,76,77,71,66,80,
            0,62,63,64,65,71,67,73,69,70,
            0,77,12,28,29,30,127,98,83,84,
            81,0,108,109,110,111,112,113,114,115,
            116,117,118,119,95,0,1,2,3,4,
            5,6,7,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,27,28,29,30,31,32,33,34,
            35,36,37,38,39,40,0,1,2,0,
            4,81,47,4,8,9,0,1,2,54,
            80,0,0,0,8,9,3,62,63,64,
            65,80,67,12,69,70,0,1,2,3,
            4,5,6,7,8,9,81,0,108,109,
            110,111,112,113,114,115,116,117,118,119,
            95,0,1,2,3,4,5,6,7,8,
            9,10,11,12,13,14,15,16,17,18,
            19,20,21,22,23,24,25,26,27,28,
            29,30,31,32,33,34,35,36,37,38,
            39,40,81,0,0,0,1,2,47,5,
            6,7,0,8,9,54,0,5,6,7,
            0,99,0,62,63,64,65,105,67,0,
            69,70,28,29,30,31,32,33,34,35,
            36,37,38,39,40,0,1,2,3,4,
            5,6,7,8,9,0,95,0,1,2,
            3,4,5,6,7,8,9,10,11,12,
            13,14,15,16,17,18,19,20,21,22,
            23,24,25,26,27,28,29,30,31,32,
            33,34,35,36,37,38,39,40,78,0,
            0,98,3,0,47,5,6,7,5,6,
            7,54,0,1,2,0,4,0,98,62,
            63,64,65,0,67,0,69,70,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,0,1,2,0,4,5,6,7,5,
            6,7,95,0,1,2,3,4,5,6,
            7,8,9,10,11,12,13,14,15,16,
            17,18,19,20,21,22,23,24,25,26,
            27,28,29,30,31,32,33,34,35,36,
            37,38,39,40,71,54,0,80,0,0,
            47,5,6,7,5,6,7,54,83,84,
            66,0,1,2,0,62,63,64,65,0,
            67,0,69,70,28,29,30,31,32,33,
            34,35,36,37,38,39,40,0,1,2,
            0,4,5,6,7,0,1,2,95,0,
            1,2,3,4,5,6,7,8,9,10,
            11,12,13,14,15,16,17,18,19,20,
            21,22,23,24,25,26,27,28,29,30,
            31,32,33,34,35,36,37,38,39,40,
            0,54,0,3,80,0,47,5,6,7,
            5,6,7,54,83,84,66,0,0,1,
            2,62,63,64,65,0,67,77,69,70,
            28,29,30,31,32,33,34,35,36,37,
            38,39,40,0,1,2,96,97,5,6,
            7,122,0,10,95,0,1,2,3,4,
            5,6,7,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,27,28,29,30,31,32,33,34,
            35,36,37,38,39,40,0,54,0,3,
            83,84,47,5,6,7,54,0,0,54,
            0,0,0,0,1,2,0,62,63,64,
            65,0,67,98,69,70,28,29,30,31,
            32,33,34,35,36,37,38,39,40,0,
            1,2,3,4,28,29,30,8,9,0,
            95,0,1,2,3,4,5,6,7,8,
            9,10,11,12,13,14,15,16,17,18,
            19,20,21,22,23,24,25,26,27,28,
            29,30,31,32,33,34,35,36,37,38,
            39,40,0,1,2,3,4,0,47,78,
            8,9,0,0,12,54,99,0,100,101,
            71,99,105,62,63,64,65,105,67,0,
            69,70,0,1,2,3,4,5,6,7,
            8,9,10,11,0,1,2,3,4,47,
            0,0,8,9,10,11,95,13,14,15,
            16,17,18,19,20,21,22,23,24,25,
            26,27,0,1,2,3,4,5,6,7,
            8,9,10,11,0,41,42,43,44,45,
            46,78,48,49,50,51,52,53,0,55,
            56,57,58,59,60,61,0,1,2,0,
            78,0,68,69,0,108,109,3,74,75,
            0,1,2,3,4,0,12,77,8,9,
            10,11,0,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,0,1,
            78,42,43,42,43,0,0,73,10,4,
            54,41,42,43,44,45,46,11,48,49,
            50,51,52,53,0,55,56,57,58,59,
            60,61,0,1,2,71,31,73,68,0,
            76,77,3,0,74,75,3,77,0,1,
            2,3,4,0,0,12,8,9,10,11,
            12,13,14,15,16,17,18,19,20,21,
            22,23,24,25,26,27,0,1,2,3,
            4,5,6,7,8,9,10,11,0,41,
            42,43,44,45,46,0,48,49,50,51,
            52,53,78,55,56,57,58,59,60,61,
            0,1,2,0,71,0,1,2,8,76,
            72,0,74,75,0,1,2,3,4,41,
            77,77,8,9,10,11,12,13,14,15,
            16,17,18,19,20,21,22,23,24,25,
            26,27,0,1,2,0,4,5,6,7,
            0,0,10,11,54,41,42,43,44,45,
            46,10,48,49,50,51,52,53,0,55,
            56,57,58,59,60,61,73,66,0,74,
            75,0,68,0,0,0,72,3,0,1,
            2,3,4,12,11,81,8,9,10,11,
            0,13,14,15,16,17,18,19,20,21,
            22,23,24,25,26,27,0,1,2,3,
            4,5,6,7,0,80,10,11,47,41,
            42,43,44,45,46,0,48,49,50,51,
            52,53,0,55,56,57,58,59,60,61,
            100,101,0,1,2,13,68,0,1,2,
            3,4,74,75,12,8,9,10,11,0,
            13,14,15,16,17,18,19,20,21,22,
            23,24,25,26,27,0,62,71,0,54,
            0,0,0,3,3,3,54,12,41,42,
            43,44,45,46,62,48,49,50,51,52,
            53,0,55,56,57,58,59,60,61,0,
            0,0,1,3,72,68,0,1,2,3,
            4,74,75,12,8,9,10,11,12,13,
            14,15,16,17,18,19,20,21,22,23,
            24,25,26,27,0,1,2,72,4,5,
            6,7,41,71,10,11,78,41,42,43,
            44,45,46,0,48,49,50,51,52,53,
            0,55,56,57,58,59,60,61,0,0,
            71,3,12,0,68,0,0,76,72,0,
            1,2,3,4,0,12,0,8,9,10,
            11,0,13,14,15,16,17,18,19,20,
            21,22,23,24,25,26,27,0,1,2,
            3,4,0,29,0,8,9,0,0,12,
            41,42,43,44,45,46,73,48,49,50,
            51,52,53,73,55,56,57,58,59,60,
            61,81,73,0,0,72,77,68,0,1,
            2,3,4,74,75,12,8,9,10,11,
            12,13,14,15,16,17,18,19,20,21,
            22,23,24,25,26,27,0,0,71,3,
            66,4,0,76,66,3,0,0,12,41,
            42,43,44,45,46,78,48,49,50,51,
            52,53,0,55,56,57,58,59,60,61,
            96,97,0,0,96,97,68,73,0,76,
            72,0,1,2,3,4,83,84,41,8,
            9,10,11,0,13,14,15,16,17,18,
            19,20,21,22,23,24,25,26,27,0,
            1,2,76,4,5,6,7,71,0,10,
            11,3,41,42,43,44,45,46,66,48,
            49,50,51,52,53,0,55,56,57,58,
            59,60,61,0,71,0,1,0,0,68,
            0,1,2,3,4,74,75,12,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,0,1,
            2,0,4,5,6,7,0,0,10,11,
            4,41,42,43,44,45,46,54,48,49,
            50,51,52,53,0,55,56,57,58,59,
            60,61,77,66,66,0,1,2,3,4,
            0,76,72,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,27,96,97,0,0,0,3,0,
            3,0,66,4,73,4,41,42,43,44,
            45,46,0,48,49,50,51,52,53,0,
            55,56,57,58,59,60,61,0,1,2,
            3,4,31,0,80,8,9,10,11,0,
            13,14,15,16,17,18,19,20,21,22,
            23,24,25,26,27,0,1,2,3,4,
            5,6,7,8,9,0,54,12,41,42,
            43,44,45,46,78,48,49,50,51,52,
            53,0,55,56,57,58,59,60,61,0,
            1,2,127,12,0,68,0,1,2,3,
            4,68,47,0,8,9,10,11,0,13,
            14,15,16,17,18,19,20,21,22,23,
            24,25,26,27,123,124,125,0,47,0,
            3,0,0,0,0,1,2,41,42,43,
            44,45,46,54,48,49,50,51,52,53,
            0,55,56,57,58,59,60,61,0,0,
            0,1,2,3,4,71,0,71,8,9,
            10,11,0,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,54,0,
            0,83,84,3,0,0,0,1,2,66,
            0,41,42,43,44,45,46,78,48,49,
            50,51,52,53,0,55,56,57,58,59,
            60,61,0,1,2,3,4,0,68,0,
            8,9,10,11,0,13,14,15,16,17,
            18,19,20,21,22,23,24,25,26,27,
            54,0,0,122,3,83,84,0,0,1,
            2,66,73,41,42,43,44,45,46,0,
            48,49,50,51,52,53,0,55,56,57,
            58,59,60,61,0,1,2,3,4,0,
            68,0,8,9,10,11,0,13,14,15,
            16,17,18,19,20,21,22,23,24,25,
            26,27,54,0,0,0,3,83,84,0,
            0,1,2,0,0,41,42,43,44,45,
            46,0,48,49,50,51,52,53,0,55,
            56,57,58,59,60,61,0,1,2,3,
            4,122,83,84,8,9,10,11,0,13,
            14,15,16,17,18,19,20,21,22,23,
            24,25,26,27,54,0,0,0,3,83,
            84,0,0,1,2,0,0,41,42,43,
            44,45,46,78,48,49,50,51,52,53,
            0,55,56,57,58,59,60,61,0,1,
            2,3,4,0,83,84,8,9,10,11,
            0,13,14,15,16,17,18,19,20,21,
            22,23,24,25,26,27,54,0,0,0,
            3,83,84,0,0,0,3,3,0,41,
            42,43,44,45,46,78,48,49,50,51,
            52,53,0,55,56,57,58,59,60,61,
            0,1,2,3,4,0,0,0,8,9,
            10,11,0,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,0,54,
            80,0,54,0,0,0,0,0,0,0,
            12,41,42,43,44,45,46,78,48,49,
            50,51,52,53,0,55,56,57,58,59,
            60,61,0,1,2,3,4,0,0,0,
            8,9,10,11,0,13,14,15,16,17,
            18,19,20,21,22,23,24,25,26,27,
            0,54,80,0,0,0,0,0,0,0,
            72,0,12,41,42,43,44,45,46,73,
            48,49,50,51,52,53,0,55,56,57,
            58,59,60,61,0,1,2,3,4,0,
            0,0,8,9,10,11,0,13,14,15,
            16,17,18,19,20,21,22,23,24,25,
            26,27,0,0,80,0,0,0,0,0,
            0,0,72,0,12,41,42,43,44,45,
            46,0,48,49,50,51,52,53,0,55,
            56,57,58,59,60,61,0,1,2,3,
            4,0,0,0,8,9,10,11,0,13,
            14,15,16,17,18,19,20,21,22,23,
            24,25,26,27,0,0,0,0,0,0,
            0,0,0,0,72,0,0,41,42,43,
            44,45,46,0,48,49,50,51,52,53,
            0,55,56,57,58,59,60,61,0,1,
            2,3,4,0,0,0,8,9,10,11,
            0,13,14,15,16,17,18,19,20,21,
            22,23,24,25,26,27,0,0,0,3,
            0,0,0,0,8,0,10,11,0,41,
            42,43,44,45,46,0,48,49,50,51,
            52,53,0,55,56,57,58,59,60,61,
            0,0,0,73,0,0,0,77,42,43,
            44,45,46,0,0,13,12,12,5,6,
            7,0,0,0,0,12,12,0,0,0,
            0,0,66,0,12,12,12,71,0,73,
            74,75,41,77,0,0,80,0,0,83,
            84,47,47,0,0,54,54,0,0,0,
            47,47,96,97,62,99,100,101,102,103,
            104,12,106,107,108,0,110,111,112,113,
            114,115,116,117,118,119,73,73,0,0,
            1,2,126,4,5,6,7,73,76,76,
            76,78,13,14,15,16,17,18,19,20,
            21,22,23,24,25,26,27,28,29,30,
            31,32,33,34,35,36,37,38,39,40,
            0,0,73,0,0,76,0,0,0,0,
            0,0,0,1,2,0,4,5,6,7,
            0,62,63,64,65,13,14,15,16,17,
            18,19,20,21,22,23,24,25,26,27,
            28,29,30,31,32,33,34,35,36,37,
            38,39,40,0,0,0,0,0,0,0,
            0,0,0,0,0,0,1,2,0,0,
            5,6,7,0,62,63,64,65,13,14,
            15,16,17,18,19,20,21,22,23,24,
            25,26,0,28,29,30,31,32,33,34,
            35,36,37,38,39,40,0,0,0,0,
            0,0,0,0,0,0,0,0,0,1,
            2,12,12,5,6,7,0,62,63,64,
            65,13,14,15,16,17,18,19,20,21,
            22,23,24,25,26,0,28,29,30,31,
            32,33,34,35,36,37,38,39,40,0,
            1,2,3,4,5,6,7,8,9,10,
            11,12,0,66,0,0,0,0,0,0,
            62,63,64,65,77,76,76,28,29,30,
            31,32,33,34,35,36,37,38,39,40,
            0,0,0,96,97,0,47,98,0,1,
            2,3,4,5,6,7,8,9,10,11,
            12,0,0,0,0,66,0,120,121,0,
            71,0,0,0,12,76,28,29,30,31,
            32,33,34,35,36,37,38,39,40,0,
            0,0,0,0,0,47,0,0,1,2,
            3,4,5,6,7,8,9,10,11,12,
            0,0,0,0,0,0,0,0,0,71,
            0,0,0,0,76,28,29,30,31,32,
            33,34,35,36,37,38,39,40,76,0,
            0,0,0,0,47,0,0,1,2,3,
            4,5,6,7,0,0,10,11,0,0,
            1,2,3,4,5,6,7,0,71,10,
            11,0,0,76,28,29,30,31,32,33,
            34,35,36,37,38,39,40,28,29,30,
            31,32,33,34,35,36,37,38,39,40,
            0,1,2,0,4,5,6,7,0,0,
            10,11,12,0,5,6,7,71,0,73,
            66,3,0,77,66,0,0,0,0,0,
            71,77,73,0,0,77,77,28,29,30,
            31,32,33,34,35,36,37,38,39,40,
            96,97,0,0,96,97,0,0,0,0,
            0,0,44,45,12,12,0,0,12,0,
            0,0,0,0,120,121,76,0,120,121,
            0,0,0,0,0,0,0,0,0,71,
            0,0,0,0,0,0,0,0,98,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,73,0,0,76,76,
            0,0,76,0,0,0,0,0,0,0,
            0,0,0,0,126,0,128,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0
        };
    };
    public final static char termCheck[] = TermCheck.termCheck;
    @Override
    public final int termCheck(int index) { return termCheck[index]; }

    public interface TermAction {
        public final static char termAction[] = {0,
            8653,8230,8244,8244,8244,8240,8244,8244,8244,8244,
            8244,8244,8400,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,8234,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,113,1548,1,8859,
            1835,135,8664,8653,1,1,2719,8653,127,1451,
            715,8660,3293,6945,6873,1920,2375,1450,3221,5726,
            3292,1287,3291,724,3289,10,8403,8403,8403,8403,
            8403,8403,8403,8403,8403,8403,8403,8403,8403,8403,
            8403,8403,8403,8403,8403,8403,8403,8403,8403,8403,
            8403,8403,8403,8403,8403,8403,8403,8403,8403,8403,
            8403,8403,8403,8403,8403,8403,8403,8403,8403,8403,
            8403,8403,8403,8403,8403,8403,8403,8403,8403,418,
            8403,8403,8403,8403,8403,8403,8403,8403,8403,8403,
            8403,8653,8403,8403,8403,8403,8653,8403,8653,8403,
            8403,188,2641,2562,8403,4190,8403,8403,4751,4721,
            8403,8403,8403,8403,8403,8403,8403,8403,8403,8403,
            8,8509,8509,8509,8509,8509,8509,8509,8509,8509,
            8509,8509,8509,8509,8509,8509,8509,8509,8509,8509,
            8509,8509,8509,8509,8509,8509,8509,8509,8509,8509,
            8509,8509,8509,8509,8509,8509,8509,8509,8509,8509,
            8509,8509,8509,8509,8509,8509,8509,8509,8509,8509,
            8509,8509,8509,8509,1739,8509,8509,8509,8509,8509,
            8509,8509,8509,8509,8509,8509,131,8509,8509,8509,
            8509,335,8509,109,8509,8509,8653,7683,7680,8509,
            8691,8509,8509,8653,8987,8509,8509,8509,8509,8509,
            8509,8509,8509,8509,8509,8653,8230,8244,8244,8244,
            8240,8244,8244,8244,8244,8244,8244,8237,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,8234,1,1,1,1,1,1,7312,
            1,1,1,1,1,1,1,1,1,1,
            1,115,1548,1,8859,1835,136,8664,4476,1,
            1,2719,4304,380,1451,39,2258,3293,6515,8691,
            1920,2375,1450,3221,5726,3292,1287,3291,724,3289,
            8653,8230,8244,8244,8244,8240,8244,8244,8244,8244,
            8244,8244,8237,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,8234,1,1,
            1,1,1,1,2328,1,1,1,1,1,
            1,1,1,1,1,1,114,1548,1,8859,
            1835,8653,8664,133,1,1,2719,2641,2562,1451,
            4190,344,3293,8653,4355,1920,2375,1450,3221,5726,
            3292,1287,3291,724,3289,8653,8230,8244,8244,8244,
            8240,8244,8244,8244,8244,8244,8244,8237,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,8234,1,1,1,1,1,1,7553,
            1,1,1,1,1,1,1,1,1,1,
            1,1300,1548,1,8859,1835,155,8664,8653,1,
            1,4913,2641,2562,1451,8653,4361,3293,29,995,
            1920,2375,1450,3221,5726,3292,1287,3291,724,3289,
            8653,8230,8244,8244,8244,8240,8244,8244,8244,8244,
            8244,8244,8237,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,8234,1,1,
            1,1,1,1,1870,1,1,1,1,1,
            1,1,1,1,1,1,458,1548,1,8859,
            1835,658,8664,129,1,1,8358,8364,8361,1451,
            4232,8653,3293,8653,4583,1920,2375,1450,3221,5726,
            3292,1287,3291,724,3289,8653,8230,8244,8244,8244,
            8240,8244,8244,8244,8244,8244,8244,8237,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,8234,1,1,1,1,1,1,7578,
            1,1,1,1,1,1,1,1,1,1,
            1,132,1548,1,8859,1835,8653,8664,151,1,
            1,8653,8667,8668,1451,8653,8653,3293,8653,1445,
            1920,2375,1450,3221,5726,3292,1287,3291,724,3289,
            8653,8230,8244,8244,8244,8240,8244,8244,8244,8244,
            8244,8244,8237,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,8234,1,1,
            1,1,1,1,7582,1,1,1,1,1,
            1,1,1,1,1,1,2418,1548,1,8859,
            1835,364,8664,4476,1,1,2025,1968,1990,1451,
            4515,89,3293,29,7737,1920,2375,1450,3221,5726,
            3292,1287,3291,724,3289,8653,8230,8244,8244,8244,
            8240,8244,8244,8244,8244,8244,8244,8237,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,8234,1,1,1,1,1,1,7686,
            1,1,1,1,1,1,1,1,1,1,
            1,8653,1548,1,8859,1835,364,8664,134,1,
            1,8466,8472,8469,1451,8653,3796,3293,474,8653,
            1920,2375,1450,3221,5726,3292,1287,3291,724,3289,
            8653,8230,8244,8244,8244,8240,8244,8244,8244,8244,
            8244,8244,8237,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,8234,1,1,
            1,1,1,1,7689,1,1,1,1,1,
            1,1,1,1,1,1,2906,1548,1,8859,
            1835,429,8664,153,1,1,2025,1968,1990,1451,
            8653,4361,3293,488,8653,1920,2375,1450,3221,5726,
            3292,1287,3291,724,3289,8653,8230,8244,8244,8244,
            8240,8244,8244,8244,8244,8244,8244,8237,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,8234,1,1,1,1,1,1,7692,
            1,1,1,1,1,1,1,1,1,1,
            1,2915,1548,1,8859,1835,657,8664,8653,1,
            1,2025,1968,1990,1451,8653,4401,3293,421,8653,
            1920,2375,1450,3221,5726,3292,1287,3291,724,3289,
            8653,8230,8244,8244,8244,8240,8244,8244,8244,8244,
            8244,8244,8237,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,8234,1,1,
            1,1,1,1,7740,1,1,1,1,1,
            1,1,1,1,1,1,2977,1548,1,8859,
            1835,346,8664,152,1,1,2025,1968,1990,1451,
            8653,8653,3293,1,2225,1920,2375,1450,3221,5726,
            3292,1287,3291,724,3289,8653,8230,8244,8244,8244,
            8240,8244,8244,8244,8244,8244,8244,8237,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,8234,1,1,1,1,1,1,225,
            1,1,1,1,1,1,1,1,1,1,
            1,2,1548,1,8859,1835,331,8664,8653,1,
            1,2025,1968,1990,1451,4515,1445,3293,606,9260,
            1920,2375,1450,3221,5726,3292,1287,3291,724,3289,
            8653,7743,7743,7743,7743,7743,7743,7743,7743,7743,
            7743,7743,7743,8653,7683,7680,9261,1066,8653,7679,
            256,7749,4060,8653,216,7862,7856,7859,7743,7743,
            7743,7743,7743,7743,7743,7743,7743,7743,7743,7743,
            7743,8513,7743,7743,7743,7743,8653,7743,7871,7868,
            7865,7877,7895,7874,7886,7853,7880,7883,7892,7889,
            7850,1,7798,7794,8406,8289,7743,3568,403,8409,
            8292,7743,7743,7743,1,492,7743,7743,7743,7743,
            7743,7743,335,7743,7743,364,7683,7680,5742,1066,
            2025,1968,1990,914,4060,8987,7743,7743,7743,7743,
            7743,7743,7743,7743,7743,7743,7743,7743,7743,7743,
            7743,7743,7743,7743,7743,7743,7743,7743,7743,7743,
            7743,7743,8653,13299,13299,549,7743,7743,7743,7743,
            8653,7746,7746,7746,7746,7746,7746,7746,7746,7746,
            7746,7746,7746,8653,7683,7680,7728,1066,1516,2063,
            257,7749,4060,2751,8596,7910,7904,7907,7746,7746,
            7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,
            7746,8653,7746,7746,7746,7746,8689,7746,7919,7916,
            7913,7925,7943,7922,7934,7901,7928,7931,7940,7937,
            7898,1,7798,7794,5742,8289,7746,3584,1094,914,
            4060,7746,7746,7746,8653,8653,7746,7746,7746,7746,
            7746,7746,3459,7746,7746,1,7798,7794,5742,8289,
            8382,8388,8385,914,4060,7093,7746,7746,7746,7746,
            7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,
            7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,
            7746,7746,8653,8667,8668,581,7746,7746,7746,7746,
            39,7683,7680,723,1066,2025,1968,1990,2875,4060,
            3109,3187,154,1004,9315,9316,8950,8948,8957,8956,
            8952,8953,8951,8954,8955,8958,8949,6703,9023,9024,
            9317,8945,8939,8946,8942,8918,8944,8943,8940,8941,
            8919,8672,3031,2953,3343,3265,2797,391,843,1009,
            8674,921,6659,992,8653,8675,8673,832,8669,8670,
            8671,6637,9085,5767,9086,9087,3421,784,1685,8653,
            8482,8482,261,8478,8244,8244,8244,261,261,261,
            261,8486,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            8653,8667,8668,473,39,4401,261,1,8691,2025,
            1968,1990,429,8475,364,364,422,2025,1968,1990,
            130,1,1,1,1,8653,4955,255,9099,2592,
            8653,4583,7814,7808,7811,9043,8653,261,116,1383,
            450,9315,9316,8950,8948,8957,8956,8952,8953,8951,
            8954,8955,8958,8949,9187,7823,7820,7817,7829,7847,
            7826,7838,7805,7832,7835,7844,7841,7802,8653,7798,
            7794,5742,8289,8382,8388,8385,914,4060,8516,8516,
            1123,955,9122,9123,9124,8653,8482,8482,261,8478,
            8244,8244,8244,261,261,261,261,8534,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,9122,9123,9124,321,
            8006,8006,261,316,2025,1968,1990,8653,661,8475,
            43,8250,8250,2025,1968,1990,3698,1,1,1,
            1,8653,4955,568,9099,2592,8653,8653,8421,8415,
            8418,8653,269,261,3152,8221,449,9315,9316,8950,
            8948,8957,8956,8952,8953,8951,8954,8955,8958,8949,
            9187,9023,9024,9317,8945,8939,8946,8942,8918,8944,
            8943,8940,8941,8919,8247,378,7683,7680,5564,1066,
            2025,1968,1990,914,4060,364,364,8653,9122,9123,
            9124,8653,8244,8244,261,8244,8240,8244,8244,261,
            261,261,261,8599,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,13885,1,13552,1,1,
            13611,1,8653,8060,8057,655,8379,8379,261,660,
            2025,1968,1990,650,8653,8590,2328,1,2025,1968,
            1990,156,8653,1,1,1,1,8653,6368,7734,
            8896,1835,1,7798,7794,5742,8289,8382,8388,8385,
            914,4060,252,342,7798,7794,5742,8289,8382,8388,
            8385,914,4060,8516,8516,2277,9187,8653,8244,8244,
            261,8244,8240,8244,8244,261,261,261,261,261,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,13885,1,13552,1,1,13611,1,8660,2984,
            258,48,8060,8057,261,7970,7964,7967,649,128,
            3698,8590,8653,2025,1968,1990,431,8667,8668,1,
            1,1,1,3776,6368,4232,8896,1835,7979,7976,
            7973,7985,8003,7982,7994,7961,7988,7991,8000,7997,
            7958,1,7798,7794,5742,8289,8382,8388,8385,914,
            4060,8653,9187,8653,8244,8244,261,8244,8240,8244,
            8244,261,261,261,261,8632,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,13885,1,13552,
            1,1,13611,1,1,7798,7794,5742,8289,8653,
            261,8653,914,4060,8653,7683,7680,8590,1066,4751,
            4721,8657,914,4060,8653,1,1,1,1,3698,
            6368,451,8896,1835,137,8653,2025,1968,1990,1,
            7798,7794,5564,8289,251,430,491,914,4060,421,
            1,400,48,7589,1,119,8668,3986,9187,8653,
            8244,8244,261,8244,8240,8244,8244,261,261,261,
            261,8599,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,13885,1,13552,1,1,13611,1,
            8653,1870,331,8667,8668,369,261,2025,1968,1990,
            2328,1870,400,8590,2279,400,400,7731,8668,1467,
            8653,1,1,1,1,2328,6368,574,8896,1835,
            157,574,8661,8584,8581,8578,8656,400,5674,5700,
            252,401,3896,4981,2230,2181,2132,2083,2034,1985,
            1936,1887,1838,1788,9187,8653,8244,8244,261,8244,
            8240,8244,8244,261,261,261,261,8599,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,13885,
            1,13552,1,1,13611,1,8653,8667,8668,8653,
            1066,8660,261,1499,914,4060,38,7701,7698,8590,
            3314,8,112,8653,7695,4060,5071,1,1,1,
            1,1587,6368,8629,8896,1835,658,7683,7680,5742,
            1066,2025,1968,1990,914,4060,252,8653,3943,6130,
            3236,3158,3080,3002,2924,2846,2768,2690,2612,2533,
            9187,8653,8244,8244,261,8244,8240,8244,8244,261,
            261,261,261,261,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,13885,1,13552,1,1,
            13611,1,8629,1,259,8653,8667,8668,261,8021,
            8015,8018,651,914,4060,8590,8653,2025,1968,1990,
            8653,4304,8653,1,1,1,1,6515,6368,8653,
            8896,1835,8030,8027,8024,8036,8054,8033,8045,8012,
            8039,8042,8051,8048,8009,1,7798,7794,5742,8289,
            8382,8388,8385,914,4060,8653,9187,8653,8244,8244,
            261,8244,8240,8244,8244,261,261,261,261,261,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,13885,1,13552,1,1,13611,1,5994,8653,
            646,9045,5282,653,261,8075,8069,8072,8608,8614,
            8611,8590,8653,7683,7680,8653,8691,326,3599,1,
            1,1,1,381,6368,636,8896,1835,8084,8081,
            8078,8090,8108,8087,8099,8066,8093,8096,8105,8102,
            8063,428,7955,7955,429,316,7946,7952,7949,2025,
            1968,1990,9187,8653,8244,8244,261,8244,8240,8244,
            8244,261,261,261,261,261,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,13885,1,13552,
            1,1,13611,1,2328,316,569,3745,8653,652,
            261,8430,8424,8427,8617,8623,8620,8590,5674,5700,
            1870,36,8506,8503,8653,1,1,1,1,8653,
            6368,635,8896,1835,9023,9024,9317,8945,8939,8946,
            8942,8918,8944,8943,8940,8941,8919,656,8376,8376,
            8653,660,8367,8373,8370,325,8667,8668,9187,8653,
            8244,8244,261,8244,8240,8244,8244,261,261,261,
            261,261,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,13885,1,13552,1,1,13611,1,
            8653,660,570,6062,3470,452,261,8439,8433,8436,
            2025,1968,1990,8590,5674,5700,5493,123,8653,13040,
            11516,1,1,1,1,1,6368,5533,8896,1835,
            9023,9024,9317,8945,8939,8946,8942,8918,8944,8943,
            8940,8941,8919,37,8394,8394,5466,5428,2025,1968,
            1990,3829,37,364,9187,8653,8244,8244,261,8244,
            8240,8244,8244,261,261,261,261,261,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,13885,
            1,13552,1,1,13611,1,8653,8689,571,6063,
            5674,5700,261,8448,8442,8445,8689,111,147,8590,
            8653,8653,110,8653,13040,11516,369,1,1,1,
            1,8653,6368,3793,8896,1835,9023,9024,9317,8945,
            8939,8946,8942,8918,8944,8943,8940,8941,8919,1,
            7798,7794,5564,8289,9023,9024,9317,914,4060,8653,
            9187,8653,8244,8244,261,8244,8240,8244,8244,261,
            261,261,261,261,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,13885,1,13552,1,1,
            13611,1,1,7798,7794,8406,8289,137,261,2435,
            8409,8292,8653,8653,8663,8590,4304,8653,4809,4649,
            2328,4304,6515,1,1,1,1,6515,6368,8653,
            8896,1835,8653,7798,7794,5742,8289,8382,8388,8385,
            914,4060,8548,8548,8653,1,1,1,1,8662,
            8653,8653,1,1,1,1,9187,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,8653,8626,8626,8626,8626,8626,8626,8626,
            8626,8626,8626,8626,395,1,1,1,1,1,
            1,2484,1,1,1,1,1,1,8653,1,
            1,1,1,1,1,1,37,8394,8394,118,
            3698,117,1,9323,1,3896,4981,3986,1,1,
            1,7798,7794,3519,1066,8653,374,9199,2875,4060,
            3109,3187,8653,7752,7791,7788,7779,7785,7758,7761,
            7773,7770,7776,7767,7764,7755,7782,5392,8653,3792,
            8626,1123,955,1123,955,39,149,3444,3891,8691,
            1379,8672,3031,2953,3343,3265,2797,4622,843,1009,
            8674,921,6659,992,8653,8675,8673,832,8669,8670,
            8671,6637,324,1298,1298,2328,3061,374,1685,8653,
            374,374,5735,1,39,39,3986,550,1,7798,
            7794,8334,8289,8653,8653,8215,8295,8292,8277,8280,
            8665,7752,7791,7788,7779,7785,7758,7761,7773,7770,
            7776,7767,7764,7755,7782,8259,8653,7798,7794,5742,
            8289,8382,8388,8385,914,4060,8548,8548,629,8307,
            8274,8271,8286,8283,8268,8653,8322,8331,8301,8325,
            8265,8328,5793,8298,8304,8319,8316,8313,8310,8262,
            37,8394,8394,341,2328,8653,8060,8057,8394,8218,
            8664,8653,8337,8337,39,7683,7680,723,1066,3788,
            9128,9142,2875,4060,3109,3187,8593,714,9315,9316,
            8950,8948,8957,8956,8952,8953,8951,8954,8955,8958,
            8949,5392,478,7725,7725,454,7725,7725,7725,7725,
            148,8653,7725,7725,1565,8672,3031,2953,3343,3265,
            2797,7536,843,1009,8674,921,6659,992,8653,8675,
            8673,832,8669,8670,8671,6637,4864,3776,8653,3421,
            784,8653,1685,150,8653,8653,8212,6204,172,7683,
            7680,723,1066,8663,4622,8660,2875,4060,3109,3187,
            8653,714,9315,9316,8950,8948,8957,8956,8952,8953,
            8951,8954,8955,8958,8949,5392,378,39,39,3986,
            8691,2025,1968,1990,8653,3844,364,364,8662,8672,
            3031,2953,3343,3265,2797,47,843,1009,8674,921,
            6659,992,1,8675,8673,832,8669,8670,8671,6637,
            4809,4649,8653,8667,8668,8602,1685,1,7798,7794,
            3519,1066,39,39,8665,2875,4060,3109,3187,8653,
            7752,7791,7788,7779,7785,7758,7761,7773,7770,7776,
            7767,7764,7755,7782,5392,1,3499,2328,8653,1261,
            8653,8653,351,7218,6882,8545,3923,8665,8672,3031,
            2953,3343,3265,2797,8605,843,1009,8674,921,6659,
            992,8653,8675,8673,832,8669,8670,8671,6637,98,
            8653,8653,3651,5755,8664,1685,39,7683,7680,723,
            1066,39,39,8659,2875,4060,3109,3187,8209,714,
            9315,9316,8950,8948,8957,8956,8952,8953,8951,8954,
            8955,8958,8949,5392,479,8355,8355,8664,8349,8340,
            8346,8343,3643,2328,8352,8352,5860,8672,3031,2953,
            3343,3265,2797,318,843,1009,8674,921,6659,992,
            8653,8675,8673,832,8669,8670,8671,6637,8653,8653,
            8519,6196,8661,8653,1685,8653,8653,8658,8212,612,
            7683,7680,723,1066,624,8665,8653,2875,4060,3109,
            3187,8653,714,9315,9316,8950,8948,8957,8956,8952,
            8953,8951,8954,8955,8958,8949,5392,1,7798,7794,
            5564,8289,8653,9276,144,914,4060,8653,146,8215,
            8672,3031,2953,3343,3265,2797,8970,843,1009,8674,
            921,6659,992,1234,8675,8673,832,8669,8670,8671,
            6637,8660,4948,8653,324,8664,7170,1685,39,7683,
            7680,723,1066,39,39,8659,2875,4060,3109,3187,
            8209,714,9315,9316,8950,8948,8957,8956,8952,8953,
            8951,8954,8955,8958,8949,5392,8653,8653,2328,2209,
            5493,758,617,8218,5493,2997,353,8653,8659,8672,
            3031,2953,3343,3265,2797,5927,843,1009,8674,921,
            6659,992,72,8675,8673,832,8669,8670,8671,6637,
            5466,5428,8653,97,5466,5428,1685,12416,8653,8658,
            8212,612,7683,7680,723,1066,5674,5700,3788,2875,
            4060,3109,3187,8653,714,9315,9316,8950,8948,8957,
            8956,8952,8953,8951,8954,8955,8958,8949,5392,90,
            8412,8412,8658,8412,8412,8412,8412,2328,8653,8412,
            8412,2753,8672,3031,2953,3343,3265,2797,8575,843,
            1009,8674,921,6659,992,8653,8675,8673,832,8669,
            8670,8671,6637,8653,8554,8653,3300,145,8653,1685,
            39,7683,7680,723,1066,39,39,8659,2875,4060,
            3109,3187,8209,714,9315,9316,8950,8948,8957,8956,
            8952,8953,8951,8954,8955,8958,8949,5392,93,8572,
            8572,627,8566,8557,8563,8560,48,8653,8569,8569,
            8667,8672,3031,2953,3343,3265,2797,3777,843,1009,
            8674,921,6659,992,35,8675,8673,832,8669,8670,
            8671,6637,722,5493,2907,39,7683,7680,723,1066,
            8653,8658,8212,2875,4060,3109,3187,8657,714,9315,
            9316,8950,8948,8957,8956,8952,8953,8951,8954,8955,
            8958,8949,5392,5466,5428,8653,8653,604,1679,8653,
            1352,39,8667,1725,2311,8691,8672,3031,2953,3343,
            3265,2797,8653,843,1009,8674,921,6659,992,8653,
            8675,8673,832,8669,8670,8671,6637,39,7683,7680,
            723,1066,1332,592,2418,2875,4060,3109,3187,8653,
            714,9315,9316,8950,8948,8957,8956,8952,8953,8951,
            8954,8955,8958,8949,5392,1,7798,7794,5742,8289,
            8382,8388,8385,914,4060,8653,7016,342,8672,3031,
            2953,3343,3265,2797,3392,843,1009,8674,921,6659,
            992,1,8675,8673,832,8669,8670,8671,6637,8653,
            8492,8489,8656,8663,98,1685,39,7683,7680,723,
            1066,3924,342,8653,2875,4060,3109,3187,122,714,
            9315,9316,8950,8948,8957,8956,8952,8953,8951,8954,
            8955,8958,8949,5392,9122,9123,9124,8653,8662,8653,
            6427,580,8653,8653,8653,8499,8495,8672,3031,2953,
            3343,3265,2797,8689,843,1009,8674,921,6659,992,
            8653,8675,8673,832,8669,8670,8671,6637,8653,8653,
            39,7683,7680,3519,1066,8519,8653,1667,2875,4060,
            3109,3187,121,714,9315,9316,8950,8948,8957,8956,
            8952,8953,8951,8954,8955,8958,8949,5392,8689,483,
            101,5674,5700,8551,8653,2,45,8525,8525,3069,
            8653,8672,3031,2953,3343,3265,2797,9088,843,1009,
            8674,921,6659,992,8653,8675,8673,832,8669,8670,
            8671,6637,39,7683,7680,3519,1066,8653,1685,408,
            2875,4060,3109,3187,120,714,9315,9316,8950,8948,
            8957,8956,8952,8953,8951,8954,8955,8958,8949,5392,
            8522,311,8653,3829,8587,5674,5700,8653,8653,8492,
            8489,37,2210,8672,3031,2953,3343,3265,2797,139,
            843,1009,8674,921,6659,992,8653,8675,8673,832,
            8669,8670,8671,6637,39,7683,7680,6764,1066,8653,
            1685,8653,2875,4060,3109,3187,143,714,9315,9316,
            8950,8948,8957,8956,8952,8953,8951,8954,8955,8958,
            8949,5392,8689,630,8653,482,3876,5674,5700,8653,
            37,8394,8394,8653,8653,8672,3031,2953,3343,3265,
            2797,142,843,1009,8674,921,6659,992,8653,8675,
            8673,832,8669,8670,8671,6637,39,7683,7680,6764,
            1066,3829,5674,5700,2875,4060,3109,3187,140,714,
            9315,9316,8950,8948,8957,8956,8952,8953,8951,8954,
            8955,8958,8949,5392,8689,8653,8653,462,1266,5674,
            5700,8653,8653,14333,14320,8653,8653,8672,3031,2953,
            3343,3265,2797,1543,843,1009,8674,921,6659,992,
            8653,8675,8673,832,8669,8670,8671,6637,39,7683,
            7680,723,1066,8653,5674,5700,2875,4060,3109,3187,
            542,714,9315,9316,8950,8948,8957,8956,8952,8953,
            8951,8954,8955,8958,8949,5392,8689,8653,8653,8653,
            6468,5674,5700,101,8653,8653,8551,7427,1,8672,
            3031,2953,3343,3265,2797,3374,843,1009,8674,921,
            6659,992,8653,8675,8673,832,8669,8670,8671,6637,
            39,7683,7680,6855,1066,8653,8653,8653,2875,4060,
            3109,3187,540,714,9315,9316,8950,8948,8957,8956,
            8952,8953,8951,8954,8955,8958,8949,5392,8653,7077,
            7590,8653,3877,8653,8653,8653,460,1,8653,8653,
            8209,8672,3031,2953,3343,3265,2797,3797,843,1009,
            8674,921,6659,992,8653,8675,8673,832,8669,8670,
            8671,6637,39,7683,7680,6855,1066,8653,8653,8653,
            2875,4060,3109,3187,544,714,9315,9316,8950,8948,
            8957,8956,8952,8953,8951,8954,8955,8958,8949,5392,
            645,3878,7591,8653,8653,8653,8653,8653,8653,8653,
            8212,8653,8537,8672,3031,2953,3343,3265,2797,2415,
            843,1009,8674,921,6659,992,8653,8675,8673,832,
            8669,8670,8671,6637,39,7683,7680,3519,1066,8653,
            8653,8653,2875,4060,3109,3187,8653,714,9315,9316,
            8950,8948,8957,8956,8952,8953,8951,8954,8955,8958,
            8949,5392,1,8653,1045,8653,8653,8653,8653,8653,
            8653,8653,8541,8653,8635,8672,3031,2953,3343,3265,
            2797,8653,843,1009,8674,921,6659,992,8653,8675,
            8673,832,8669,8670,8671,6637,39,7683,7680,3519,
            1066,8653,8653,8653,2875,4060,3109,3187,8653,714,
            9315,9316,8950,8948,8957,8956,8952,8953,8951,8954,
            8955,8958,8949,5392,8653,8653,8653,8653,8653,8653,
            8653,8653,8653,8653,8664,8653,8653,8672,3031,2953,
            3343,3265,2797,8653,843,1009,8674,921,6659,992,
            8653,8675,8673,832,8669,8670,8671,6637,39,7683,
            7680,723,1066,8653,8653,8653,2875,4060,3109,3187,
            8653,714,9315,9316,8950,8948,8957,8956,8952,8953,
            8951,8954,8955,8958,8949,5392,1,8653,8653,676,
            8653,8653,8653,8653,9156,8653,9150,9154,8653,8672,
            3031,2953,3343,3265,2797,8653,843,1009,8674,921,
            6659,992,8653,8675,8673,832,8669,8670,8671,6637,
            8653,1,1,4948,439,1,8653,3928,9148,9149,
            9179,9180,9157,8653,8653,8602,8528,222,8638,8646,
            8642,8653,1,8653,8653,8650,8663,8653,8653,8653,
            8653,8653,9159,8653,192,8659,8659,730,8653,9181,
            1575,1669,3881,9160,8653,8653,9158,8653,8653,9170,
            9169,8531,222,8653,8653,3881,3923,8653,8653,8653,
            8650,8662,9175,9176,8605,9182,9173,9174,9153,9155,
            9177,8659,9151,9152,9178,8653,9163,9164,9165,9161,
            9162,9171,9172,9167,9166,9168,8650,4961,8653,8653,
            7683,7680,9183,8691,2025,1968,1990,844,192,8658,
            8658,1664,907,9315,9316,8950,8948,8957,8956,8952,
            8953,8951,8954,8955,8958,8949,6681,9023,9024,9317,
            8945,8939,8946,8942,8918,8944,8943,8940,8941,8919,
            8653,8653,1636,8653,8653,8658,8653,8653,8653,8653,
            8653,8653,273,8202,8198,8653,8206,8123,8117,8120,
            8653,9085,5767,9086,9087,907,8195,8192,8183,8189,
            8162,8165,8177,8174,8180,8171,8168,8159,8186,6681,
            8132,8129,8126,8138,8156,8135,8147,8114,8141,8144,
            8153,8150,8111,8653,8653,8653,8653,8653,8653,8653,
            8653,8653,8653,8653,8653,8653,8667,8668,8653,8653,
            2025,1968,1990,8653,9085,5767,9086,9087,1172,9315,
            9316,8950,8948,8957,8956,8952,8953,8951,8954,8955,
            8958,8949,8653,9023,9024,9317,8945,8939,8946,8942,
            8918,8944,8943,8940,8941,8919,8653,124,8653,1,
            8653,8653,8653,8653,8653,8653,8653,8653,273,8463,
            8460,396,8659,8123,8117,8120,8653,9085,5767,9086,
            9087,1172,8195,8192,8183,8189,8162,8165,8177,8174,
            8180,8171,8168,8159,8186,8653,8132,8129,8126,8138,
            8156,8135,8147,8114,8141,8144,8153,8150,8111,29,
            421,421,8227,421,421,421,421,421,421,8227,
            8227,8227,8653,5234,8653,8653,8653,8653,8653,8653,
            9085,5767,9086,9087,7722,396,8658,421,421,421,
            421,421,421,421,421,421,421,421,421,421,
            8653,8653,8653,5180,5150,8653,8227,396,32,422,
            422,8224,422,422,422,422,422,422,8224,8224,
            8224,8653,1,8653,8653,7686,8653,5123,4428,8653,
            8227,8653,8653,8653,194,8227,422,422,422,422,
            422,422,422,422,422,422,422,422,422,8653,
            8653,8653,8653,8653,8653,8224,8653,634,644,644,
            644,644,644,644,644,644,644,8397,8397,8397,
            8653,8653,8653,8653,8653,8653,8653,8653,8653,8224,
            8653,8653,8653,8653,8224,644,644,644,644,644,
            644,644,644,644,644,644,644,644,194,8653,
            8653,8653,8653,8653,8397,8653,37,8668,8668,8668,
            8668,8668,8668,8668,126,8653,8668,8668,125,37,
            8667,8667,8667,8667,8667,8667,8667,8653,644,8667,
            8667,8653,8653,8397,8668,8668,8668,8668,8668,8668,
            8668,8668,8668,8668,8668,8668,8668,8667,8667,8667,
            8667,8667,8667,8667,8667,8667,8667,8667,8667,8667,
            1,8337,8337,8653,8391,8382,8388,8385,8653,572,
            364,364,396,8653,8457,8451,8454,8668,74,8668,
            5234,7716,8653,8668,5234,8653,8653,8653,8653,8653,
            8667,8253,8667,8653,8653,8256,8667,9023,9024,9317,
            8945,8939,8946,8942,8918,8944,8943,8940,8941,8919,
            5180,5150,8653,1,5180,5150,1,8653,8653,8653,
            8653,8653,7707,7704,8659,588,8653,8653,8659,8653,
            8653,8653,8653,8653,5123,4428,396,8653,5123,4428,
            8653,8653,8653,8653,8653,8653,8653,8653,8653,7719,
            8653,8653,8653,8653,8653,8653,8653,8653,396,8653,
            8653,8653,8653,8653,8653,8653,8653,8653,8653,8653,
            8653,8653,8653,8653,8653,8653,8653,8653,8653,8653,
            8653,8653,8653,8653,8653,7592,8653,8653,8658,588,
            8653,8653,8658,8653,8653,8653,8653,8653,8653,8653,
            8653,8653,8653,8653,7710,8653,7713
        };
    };
    public final static char termAction[] = TermAction.termAction;
    @Override
    public final int termAction(int index) { return termAction[index]; }

    public interface Asb {
        public final static char asb[] = {0,
            957,123,720,127,821,661,661,661,661,1079,
            821,1251,1251,1004,1251,62,1,64,721,721,
            721,721,721,721,721,721,721,721,721,1251,
            306,311,308,315,313,322,320,324,323,325,
            212,326,720,720,381,381,381,381,763,223,
            353,353,1251,381,117,268,1251,1251,353,763,
            268,268,268,1160,700,681,777,380,1370,1081,
            1251,1,1251,1251,184,184,223,720,721,721,
            721,721,721,721,721,721,721,721,721,721,
            721,721,721,721,721,721,721,721,721,720,
            720,720,720,720,720,720,720,720,720,720,
            1109,721,268,351,351,351,351,1372,268,353,
            353,1315,1238,821,821,821,1251,181,1251,1083,
            1251,1223,1251,1079,763,1251,1232,721,117,117,
            353,661,22,1315,530,1177,199,198,476,1258,
            1258,1079,64,721,682,117,380,720,761,1366,
            268,760,762,760,268,117,308,308,306,306,
            306,313,313,313,313,313,313,311,311,320,
            315,315,323,322,324,1107,1107,325,821,821,
            821,821,763,763,351,383,1070,1,620,618,
            625,623,627,626,628,337,350,351,1251,1251,
            763,574,514,267,1002,420,1085,186,1083,179,
            1079,1223,763,763,1372,1,351,655,181,1160,
            117,645,268,1179,1181,763,1370,1262,681,1107,
            721,1107,114,680,821,821,821,682,821,763,
            69,114,114,901,120,763,271,181,721,381,
            1251,1251,268,1081,763,181,763,762,1370,720,
            720,720,720,720,720,821,821,1044,1057,1057,
            1057,1057,1039,1079,658,721,721,721,721,721,
            721,721,721,721,720,720,720,720,720,720,
            720,720,720,720,720,720,721,700,1319,1251,
            1251,518,267,513,268,420,763,665,1376,663,
            1372,181,524,763,1372,763,268,655,21,268,
            203,1156,202,1181,1372,761,672,682,1107,774,
            682,700,700,698,680,700,114,114,577,901,
            1312,763,821,821,643,1079,760,679,268,1251,
            1315,1366,1081,763,761,268,268,268,268,223,
            223,763,721,618,618,618,623,620,620,626,
            625,627,1107,628,1322,1251,1171,1170,266,655,
            763,420,1107,1086,661,1374,759,1094,420,665,
            664,668,665,668,1372,524,524,763,763,1251,
            21,588,720,200,200,191,191,1175,1315,823,
            268,763,682,721,682,268,1312,268,698,901,
            821,268,668,668,114,609,1315,937,614,1312,
            1312,763,268,763,1370,1181,207,1079,763,761,
            125,1251,1251,1251,720,1251,1154,1251,1081,268,
            268,1372,915,720,1251,1251,518,268,222,268,
            268,1370,181,1088,1088,351,661,1096,668,668,
            668,668,763,524,654,920,654,654,588,720,
            720,1179,1156,588,1295,682,643,682,114,901,
            720,682,668,181,1079,609,1312,720,21,1312,
            609,1366,1181,131,925,130,763,763,761,679,
            821,1251,223,721,117,1154,763,1251,279,1171,
            761,424,181,425,436,614,721,1107,610,931,
            611,1096,668,668,766,654,655,721,763,1251,
            135,591,1312,588,720,680,223,114,1312,268,
            181,943,763,821,268,609,268,207,114,912,
            1002,763,114,114,823,1251,268,117,1251,222,
            114,424,424,1374,1374,947,1324,1086,436,1096,
            721,721,611,611,1096,1096,943,471,767,763,
            655,1251,1251,591,591,682,268,114,125,1079,
            763,223,599,764,268,114,268,268,1309,655,
            424,424,425,425,425,863,950,350,661,582,
            582,611,611,766,763,1079,1079,763,821,591,
            682,125,268,599,268,181,181,1311,655,425,
            424,436,425,436,349,349,763,763,763,1182,
            673,602,424,436,381,381,763,763,1171,602,
            655,350,381,418,582,349,760
        };
    };
    public final static char asb[] = Asb.asb;
    @Override
    public final int asb(int index) { return asb[index]; }

    public interface Asr {
        public final static char asr[] = {0,
            30,5,32,62,28,63,33,34,35,36,
            37,38,39,64,40,65,31,29,6,7,
            68,44,45,11,10,42,43,46,52,61,
            27,3,4,58,59,60,41,56,50,55,
            14,15,17,26,16,22,20,21,23,24,
            19,18,25,13,49,53,51,48,57,72,
            12,9,8,1,2,75,74,0,14,15,
            16,17,48,74,18,49,50,19,20,21,
            75,9,51,22,23,52,53,55,68,56,
            57,13,24,25,26,58,59,60,41,1,
            2,3,44,45,11,10,42,43,8,46,
            4,27,61,47,12,0,127,12,0,3,
            29,0,129,0,122,0,127,47,129,73,
            76,12,78,0,74,75,68,44,45,11,
            10,42,43,8,46,52,61,27,3,4,
            9,58,59,60,41,56,50,55,14,15,
            17,26,16,22,20,21,23,24,19,18,
            25,13,49,53,51,48,57,81,1,2,
            72,12,0,9,8,54,1,2,4,0,
            5,79,78,47,72,6,7,3,71,77,
            80,73,12,76,98,0,12,78,76,41,
            0,5,77,78,98,127,81,47,6,7,
            129,73,14,15,16,17,48,74,18,49,
            50,19,20,21,75,9,51,22,23,52,
            53,55,68,56,57,13,24,25,26,58,
            59,60,2,3,44,45,11,10,42,43,
            8,46,4,27,61,41,1,76,12,0,
            9,1,2,8,4,13,67,0,32,33,
            34,35,36,37,9,38,39,68,79,40,
            31,1,2,71,3,128,126,44,45,8,
            4,72,28,29,30,105,99,10,106,107,
            42,43,84,83,66,96,97,120,121,100,
            101,11,102,103,104,5,12,78,98,127,
            76,81,47,6,7,129,108,109,110,111,
            112,113,114,115,116,117,118,119,80,73,
            77,0,48,74,49,50,75,9,51,52,
            53,55,68,56,57,58,59,60,41,44,
            45,11,10,42,43,8,46,77,61,3,
            4,27,13,1,2,63,64,65,14,15,
            17,26,16,22,20,21,23,24,19,18,
            25,32,38,39,34,37,36,31,33,28,
            29,30,5,7,6,35,40,62,0,123,
            124,125,78,81,9,12,3,11,10,8,
            47,70,67,95,69,14,15,30,5,32,
            16,17,62,28,18,63,33,34,19,35,
            36,20,21,37,38,22,23,39,64,54,
            40,13,65,24,25,29,26,27,6,7,
            1,2,4,31,0,14,15,30,5,32,
            16,17,28,18,33,34,19,35,36,20,
            21,37,9,38,22,23,39,40,24,31,
            25,29,26,2,71,11,10,8,4,47,
            6,7,1,76,12,3,0,12,73,76,
            1,28,0,1,2,12,73,81,0,74,
            75,127,12,3,13,49,53,51,48,57,
            17,26,16,22,20,21,23,24,19,18,
            25,14,15,58,59,60,41,56,50,55,
            8,9,4,44,45,42,43,46,52,61,
            27,1,2,10,11,0,12,78,72,79,
            0,77,80,73,1,2,0,30,28,29,
            68,12,77,98,80,73,76,0,30,28,
            29,68,79,77,78,98,76,72,3,80,
            6,7,5,12,47,73,0,84,83,66,
            96,97,100,101,11,102,103,77,108,109,
            110,111,112,113,114,115,116,117,118,119,
            73,104,80,0,5,78,98,127,47,6,
            7,108,109,73,12,81,0,77,96,97,
            66,0,4,66,6,7,5,12,78,72,
            0,76,95,123,124,125,54,78,122,130,
            81,69,79,70,67,85,87,93,91,82,
            89,90,92,94,72,86,88,47,12,63,
            62,64,65,32,38,39,34,37,36,31,
            33,28,29,30,5,7,6,35,40,68,
            74,75,49,53,51,48,57,3,17,26,
            16,22,20,21,23,24,19,18,25,14,
            15,58,59,60,41,56,50,55,44,45,
            11,10,42,43,46,52,61,27,13,4,
            9,8,2,1,0,31,1,2,4,123,
            124,125,0,78,98,0,74,75,44,45,
            11,10,42,43,8,46,52,61,27,4,
            9,58,59,60,41,56,50,55,14,15,
            17,26,16,22,20,21,23,24,19,18,
            25,13,49,53,51,48,57,71,1,2,
            3,0,14,15,30,5,32,16,17,62,
            28,18,63,33,34,19,35,36,20,21,
            37,38,22,23,39,64,40,13,65,24,
            31,25,29,26,1,2,4,27,6,7,
            98,0,14,15,30,32,16,17,62,28,
            18,63,33,95,34,19,35,36,20,21,
            37,67,38,22,23,39,64,54,40,13,
            65,24,70,31,25,29,26,27,69,72,
            5,12,11,47,6,7,8,9,2,4,
            3,1,10,0,76,12,84,83,0,12,
            73,81,80,0,12,78,73,76,3,0,
            78,5,71,6,7,66,12,73,47,80,
            3,0,12,72,73,0,41,54,0,5,
            12,72,6,7,80,0,14,15,16,17,
            48,74,18,49,50,19,20,21,75,9,
            51,22,23,52,53,55,68,56,57,13,
            24,25,26,58,59,60,1,2,3,44,
            45,11,10,42,43,8,46,4,27,61,
            69,41,0,27,75,74,42,43,106,107,
            102,103,8,46,80,66,113,114,110,111,
            112,118,117,119,84,83,115,116,100,101,
            96,97,104,108,44,45,99,126,13,63,
            62,64,65,17,26,16,22,20,21,23,
            24,19,18,25,14,15,32,38,39,34,
            37,36,31,33,28,29,30,35,40,77,
            73,5,11,10,6,7,3,71,1,2,
            4,0,54,4,78,1,2,12,72,6,
            7,5,0,47,12,3,9,8,11,10,
            4,1,2,6,7,5,78,0,14,15,
            16,17,48,74,18,49,50,19,20,21,
            75,9,51,22,23,52,53,55,68,56,
            57,13,24,25,26,58,59,60,41,1,
            2,3,44,45,11,10,42,43,46,4,
            27,61,78,8,0,98,9,8,80,77,
            5,1,2,11,10,4,6,7,71,3,
            76,12,73,0,8,9,3,71,10,11,
            98,14,15,30,5,32,16,17,62,28,
            18,63,33,34,19,35,36,20,21,37,
            38,22,23,39,64,40,13,65,24,31,
            25,29,26,1,2,4,27,6,7,76,
            12,0,4,12,72,6,7,5,1,2,
            0,27,13,63,62,64,65,17,26,16,
            22,20,21,23,24,19,18,25,14,15,
            79,78,98,127,81,72,129,128,126,44,
            45,105,99,42,43,106,107,83,84,66,
            77,96,97,100,101,102,103,104,108,109,
            80,110,111,112,113,114,115,116,117,118,
            119,73,120,121,30,32,28,33,34,35,
            36,37,38,39,40,31,29,47,12,76,
            71,8,9,3,11,1,2,4,6,7,
            5,10,0,17,62,28,18,63,33,19,
            35,20,21,37,38,22,23,64,40,13,
            65,24,31,25,29,26,16,32,30,27,
            15,14,12,3,11,47,70,67,95,34,
            39,36,69,66,4,5,10,6,7,9,
            8,1,2,54,0,4,12,78,72,6,
            7,5,0
        };
    };
    public final static char asr[] = Asr.asr;
    @Override
    public final int asr(int index) { return asr[index]; }

    public interface Nasb {
        public final static char nasb[] = {0,
            198,13,83,13,13,13,13,13,13,87,
            13,13,13,205,13,31,175,263,83,83,
            83,83,159,83,83,83,83,83,83,13,
            13,13,13,13,13,13,13,13,13,13,
            83,13,83,250,342,342,342,342,263,227,
            261,261,75,5,142,97,13,13,261,163,
            97,97,97,194,1,35,83,42,71,13,
            13,175,13,13,104,104,227,250,83,83,
            83,83,83,83,83,83,83,83,83,83,
            83,83,83,83,83,83,83,83,83,83,
            83,83,83,83,83,83,83,83,83,83,
            236,83,97,13,13,13,13,89,97,48,
            48,312,286,13,13,13,287,179,287,191,
            287,191,287,11,263,287,279,83,142,142,
            48,13,56,312,137,193,46,46,13,13,
            13,11,263,83,240,142,342,209,31,65,
            97,30,263,30,97,142,13,13,13,13,
            13,13,13,13,13,13,13,13,13,13,
            13,13,13,13,13,13,13,13,13,13,
            13,13,202,12,13,212,194,170,13,13,
            13,13,13,13,13,13,13,13,334,295,
            263,13,97,99,13,261,201,87,295,113,
            87,295,263,12,13,175,13,261,179,332,
            142,13,97,310,261,263,71,13,246,13,
            146,13,21,13,13,13,13,247,13,164,
            19,21,21,220,38,164,131,110,83,342,
            261,126,97,13,12,61,263,230,71,83,
            83,250,250,250,250,13,13,286,287,287,
            287,287,297,11,13,83,83,83,83,83,
            83,83,83,83,83,83,83,83,83,83,
            83,83,83,83,83,250,83,48,191,191,
            191,133,96,13,97,320,202,191,191,13,
            338,179,261,338,70,202,97,36,261,97,
            13,254,13,329,69,202,13,247,13,13,
            247,266,266,327,13,266,21,21,261,184,
            256,263,13,13,13,87,87,261,97,23,
            334,65,13,163,202,97,97,97,97,227,
            227,263,83,13,13,13,13,13,13,13,
            13,13,13,13,13,261,97,13,97,36,
            263,21,13,233,13,13,131,219,320,191,
            191,261,295,261,70,261,164,12,202,61,
            81,261,83,13,13,46,46,253,312,329,
            97,202,247,83,247,97,256,97,316,261,
            13,97,261,92,21,191,312,144,13,27,
            289,263,97,12,71,261,129,87,338,338,
            44,261,118,13,250,334,231,13,13,97,
            97,70,97,83,191,124,133,97,83,97,
            97,71,179,191,295,13,13,184,261,261,
            116,116,202,164,73,13,13,36,124,83,
            83,310,25,261,13,247,13,247,21,185,
            250,247,92,181,120,295,27,209,81,185,
            191,276,329,97,13,13,338,234,31,135,
            13,23,227,83,142,231,202,261,124,97,
            31,261,179,14,261,21,83,13,40,13,
            191,289,116,116,166,73,36,83,164,102,
            80,261,290,124,83,13,270,21,289,97,
            181,13,338,13,97,295,97,129,21,13,
            129,234,21,21,342,118,97,142,124,83,
            21,305,261,13,13,13,14,273,329,185,
            83,83,295,191,289,13,13,87,94,338,
            36,102,13,78,261,247,97,21,261,120,
            12,227,261,13,97,21,97,97,261,36,
            14,305,14,14,14,178,13,13,13,157,
            157,191,295,153,338,87,87,12,13,78,
            247,44,97,124,97,110,110,254,36,14,
            261,329,14,261,13,13,12,338,338,341,
            135,261,305,329,342,342,12,12,97,78,
            36,13,342,13,157,13,30
        };
    };
    public final static char nasb[] = Nasb.nasb;
    @Override
    public final int nasb(int index) { return nasb[index]; }

    public interface Nasr {
        public final static char nasr[] = {0,
            3,13,10,9,149,204,148,121,147,146,
            4,2,0,5,52,90,100,0,5,44,
            47,0,172,0,108,107,37,73,82,4,
            10,9,2,0,5,99,0,234,0,222,
            0,206,0,186,0,98,0,4,10,9,
            2,13,138,5,0,4,10,9,2,13,
            117,43,116,0,84,167,166,0,141,2,
            84,0,178,0,5,226,0,156,0,99,
            117,43,10,9,2,13,4,0,141,84,
            0,184,0,224,0,202,32,0,233,32,
            0,187,0,4,2,9,10,168,0,43,
            63,0,43,1,0,131,0,170,0,194,
            4,193,0,61,0,5,208,0,164,0,
            181,0,200,0,140,0,13,2,9,10,
            4,103,0,215,0,13,2,9,10,4,
            236,0,4,123,190,0,129,0,4,10,
            9,13,3,1,0,4,123,223,0,13,
            2,9,10,4,64,44,63,5,43,0,
            43,185,0,105,5,4,10,9,2,73,
            37,0,32,107,108,5,0,5,205,0,
            53,2,3,0,5,64,227,0,5,33,
            0,149,228,148,121,147,146,0,47,4,
            2,9,10,5,183,0,5,111,0,2,
            143,0,37,125,0,5,44,141,0,5,
            52,43,44,210,0,99,43,52,91,5,
            44,0,32,108,107,73,4,2,9,10,
            5,0,2,53,0,5,64,124,0,5,
            209,0,37,1,0,37,84,0,2,4,
            121,118,119,120,165,13,78,0,5,4,
            10,9,2,73,27,0,121,78,13,118,
            119,120,198,0,144,5,52,90,0,31,
            5,4,37,105,0,64,5,211,0,5,
            52,90,123,50,4,0,44,212,31,5,
            0,108,107,37,4,82,0,2,81,0,
            32,5,64,0
        };
    };
    public final static char nasr[] = Nasr.nasr;
    @Override
    public final int nasr(int index) { return nasr[index]; }

    public interface TerminalIndex {
        public final static char terminalIndex[] = {0,
            118,119,2,31,51,129,130,13,84,10,
            9,120,105,48,49,53,57,65,73,79,
            80,91,92,107,110,112,127,59,111,50,
            109,52,69,71,75,78,81,88,94,103,
            117,11,12,7,8,14,125,60,66,72,
            89,93,95,98,99,102,104,114,115,116,
            128,58,68,96,106,19,82,100,131,108,
            1,126,44,63,83,123,20,30,101,33,
            124,113,17,18,54,55,61,62,64,74,
            76,77,90,97,70,21,22,32,6,23,
            24,25,26,27,4,15,16,28,29,34,
            35,36,37,38,39,40,41,42,43,45,
            46,56,85,86,87,5,122,3,132,67,
            121
        };
    };
    public final static char terminalIndex[] = TerminalIndex.terminalIndex;
    @Override
    public final int terminalIndex(int index) { return terminalIndex[index]; }

    public interface NonterminalIndex {
        public final static char nonterminalIndex[] = {0,
            139,144,145,0,0,143,0,0,247,253,
            142,0,152,0,141,0,0,151,157,0,
            0,158,167,168,169,170,265,0,0,0,
            197,135,160,0,171,172,266,173,174,150,
            175,176,138,140,177,0,137,178,147,194,
            0,0,146,179,0,0,0,0,0,0,
            204,180,189,161,181,0,221,0,0,182,
            183,218,222,184,185,0,186,203,0,0,
            0,164,192,0,154,0,0,0,0,0,
            188,0,0,0,0,0,0,223,136,195,
            0,0,134,166,219,225,226,227,0,229,
            0,155,0,0,224,235,0,206,207,208,
            210,237,238,191,213,0,0,228,0,0,
            0,242,0,244,0,258,0,261,0,262,
            0,0,156,196,198,199,200,201,205,209,
            212,0,215,0,216,0,231,234,0,256,
            0,257,0,270,273,148,149,153,0,0,
            163,165,0,187,0,202,0,0,0,211,
            0,214,220,0,232,233,0,0,239,246,
            0,250,251,252,255,0,0,259,0,267,
            0,269,0,272,133,0,159,162,0,190,
            0,193,0,0,217,230,236,0,0,240,
            241,243,245,0,248,249,254,260,263,264,
            0,0,268,0,0,271,0,0,0,0,
            0,0,0,0,0
        };
    };
    public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
    @Override
    public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }

    public interface ScopePrefix {
        public final static char scopePrefix[] = {
            261,425,719,738,414,443,670,686,697,708,
            497,369,383,400,461,129,394,517,555,269,
            727,621,94,107,138,158,167,172,177,232,
            297,456,467,94,589,67,246,375,389,645,
            114,246,507,94,746,114,319,350,7,39,
            63,75,86,101,148,163,193,101,486,490,
            573,614,666,756,760,764,184,79,184,535,
            551,564,582,601,658,203,203,331,421,564,
            677,693,704,715,309,632,19,31,60,143,
            143,258,324,13,143,345,366,13,13,143,
            494,611,618,258,143,779,1,13,54,197,
            472,539,579,1,594,143,212,406,472,212,
            212,433,526,279,433,24,24,45,45,191,
            45,45,45,45,577,768,775,24,24,49,
            340,768,775,152,545,239,191,340,191,355
        };
    };
    public final static char scopePrefix[] = ScopePrefix.scopePrefix;
    @Override
    public final int scopePrefix(int index) { return scopePrefix[index]; }

    public interface ScopeSuffix {
        public final static char scopeSuffix[] = {
            90,237,43,43,237,237,43,43,43,43,
            504,237,182,237,99,135,380,523,561,275,
            154,627,99,112,112,112,146,146,182,237,
            302,105,105,99,43,72,251,380,188,650,
            125,254,512,733,751,119,313,313,11,43,
            43,43,90,105,43,146,182,105,182,182,
            237,348,43,43,43,348,777,83,188,504,
            504,504,586,605,650,207,221,335,409,568,
            681,681,681,681,313,636,22,22,43,146,
            146,43,43,327,329,348,43,11,11,329,
            182,43,348,43,643,43,4,16,57,200,
            475,542,57,608,597,662,207,409,653,215,
            226,450,529,282,436,29,37,47,92,182,
            478,480,482,484,182,770,770,26,34,51,
            342,772,772,154,547,241,304,335,289,357
        };
    };
    public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
    @Override
    public final int scopeSuffix(int index) { return scopeSuffix[index]; }

    public interface ScopeLhs {
        public final static char scopeLhs[] = {
            50,120,18,18,89,120,18,18,18,18,
            94,102,51,89,119,87,58,94,93,50,
            18,20,198,3,7,8,190,190,189,118,
            50,119,119,150,54,28,116,59,51,168,
            161,116,94,18,18,161,109,66,83,165,
            199,163,97,198,193,190,189,150,213,56,
            63,172,18,18,18,18,12,140,189,94,
            93,93,76,46,168,122,122,82,89,93,
            18,18,18,18,109,20,132,155,17,194,
            190,215,107,115,68,98,67,183,83,150,
            95,173,172,206,168,17,18,83,92,189,
            150,124,92,22,54,168,122,89,168,122,
            122,120,94,50,120,132,155,204,228,189,
            176,148,147,146,86,166,53,132,155,236,
            82,166,53,193,124,118,50,82,50,66
        };
    };
    public final static char scopeLhs[] = ScopeLhs.scopeLhs;
    @Override
    public final int scopeLhs(int index) { return scopeLhs[index]; }

    public interface ScopeLa {
        public final static char scopeLa[] = {
            122,81,76,76,81,81,76,76,76,76,
            76,81,47,81,1,77,1,76,130,72,
            3,76,1,77,77,77,1,1,47,81,
            72,1,1,1,76,76,81,1,1,4,
            77,73,47,1,1,77,76,76,1,76,
            76,76,122,1,76,1,47,1,47,47,
            81,127,76,76,76,127,1,76,1,76,
            76,76,78,78,4,1,1,10,72,76,
            77,77,77,77,76,3,6,6,76,1,
            1,76,76,3,1,127,76,1,1,1,
            47,76,127,76,8,76,76,6,78,1,
            54,80,78,76,77,1,1,72,54,1,
            1,72,82,79,1,1,1,27,1,47,
            1,63,62,62,47,4,4,1,1,98,
            11,4,4,3,1,72,1,10,1,3
        };
    };
    public final static char scopeLa[] = ScopeLa.scopeLa;
    @Override
    public final int scopeLa(int index) { return scopeLa[index]; }

    public interface ScopeStateSet {
        public final static char scopeStateSet[] = {
            101,181,377,377,40,181,377,377,377,377,
            114,42,101,40,181,40,103,114,114,101,
            377,377,81,302,348,348,9,9,37,181,
            101,181,181,177,134,187,127,103,101,159,
            5,127,114,377,377,5,168,57,63,177,
            54,1,114,81,12,9,37,177,99,103,
            280,25,377,377,377,377,352,18,37,114,
            114,114,142,443,159,181,181,239,40,114,
            377,377,377,377,168,377,73,28,377,12,
            9,23,168,170,57,164,57,78,63,177,
            114,15,25,162,159,377,377,63,114,37,
            177,32,114,382,134,159,181,40,159,181,
            181,181,114,101,181,73,28,184,82,37,
            184,183,183,183,87,84,255,73,28,476,
            239,84,255,12,32,181,101,239,101,57
        };
    };
    public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
    @Override
    public final int scopeStateSet(int index) { return scopeStateSet[index]; }

    public interface ScopeRhs {
        public final static char scopeRhs[] = {0,
            216,3,0,135,235,0,168,236,136,0,
            218,0,236,136,0,266,218,0,263,168,
            0,266,0,168,0,242,266,0,242,0,
            214,168,0,192,266,0,192,0,216,3,
            27,0,135,0,280,0,273,0,235,0,
            32,166,0,367,86,0,30,188,0,194,
            3,0,363,3,331,0,362,3,3,6,
            0,135,135,0,361,3,68,0,360,3,
            122,0,135,189,0,136,194,79,0,233,
            0,259,0,215,184,135,13,0,145,0,
            184,135,13,0,144,0,290,136,66,133,
            0,20,0,326,136,66,54,0,20,58,
            0,33,141,0,20,58,0,0,326,136,
            66,54,221,0,20,195,0,290,136,66,
            141,0,212,135,0,150,0,242,3,325,
            0,325,0,2,0,135,0,290,136,66,
            140,0,212,135,254,0,212,135,31,254,
            0,212,135,355,31,0,137,215,184,135,
            0,137,0,215,184,135,0,143,137,0,
            183,0,351,136,183,0,136,183,0,240,
            137,0,184,350,252,0,145,0,0,0,
            0,350,252,0,146,145,0,0,0,0,
            144,0,0,0,0,146,144,0,0,0,
            0,349,136,174,253,0,136,0,253,0,
            138,0,0,136,0,348,136,174,248,0,
            136,0,0,44,136,0,0,164,3,0,
            136,316,315,136,79,314,183,0,315,136,
            79,314,183,0,232,0,233,0,314,183,
            0,101,0,0,232,0,233,0,220,101,
            0,0,232,0,233,0,315,136,314,183,
            0,232,0,220,0,0,232,0,257,136,
            3,0,135,0,0,0,0,0,257,136,
            3,238,0,246,3,0,225,0,155,0,
            200,184,135,0,10,0,0,0,0,200,
            0,9,0,0,235,71,0,134,0,257,
            136,3,198,0,198,0,2,0,0,135,
            0,0,0,0,0,214,3,0,273,136,
            174,41,34,0,212,135,67,70,0,213,
            137,0,137,212,135,312,70,0,212,135,
            312,70,0,212,135,80,132,67,0,273,
            136,174,283,67,0,283,67,0,138,0,
            0,136,0,273,136,174,283,256,67,0,
            283,256,67,0,309,310,136,174,132,345,
            63,0,345,63,0,139,138,0,0,0,
            136,0,309,310,136,174,345,63,0,138,
            0,0,0,136,0,212,135,308,63,0,
            215,212,135,308,252,0,212,135,308,252,
            0,184,135,0,98,145,0,209,0,208,
            0,207,0,206,0,306,136,162,0,306,
            136,183,0,175,93,0,340,178,342,343,
            3,90,0,135,188,0,342,343,3,90,
            0,137,0,135,188,0,175,3,82,222,
            89,0,135,137,0,222,89,0,113,2,
            140,135,137,0,255,3,82,0,214,195,
            0,33,178,0,195,0,192,33,178,0,
            255,3,94,0,222,163,255,3,92,0,
            67,188,0,255,3,92,0,135,188,67,
            188,0,341,136,174,0,175,0,235,86,
            0,175,109,206,0,30,186,0,157,77,
            185,3,0,185,3,0,20,170,135,0,
            175,109,176,0,30,178,0,135,158,0,
            242,3,0,235,71,303,0,175,71,0,
            216,3,337,75,135,0,135,0,0,0,
            0,337,75,135,0,2,154,135,0,0,
            0,0,156,0,134,54,184,135,0,31,
            156,0,98,145,31,156,0,243,212,135,
            0,155,31,156,0,175,3,57,0,175,
            3,77,216,66,48,0,216,66,48,0,
            20,2,140,135,0,175,3,77,216,66,
            51,0,216,66,51,0,175,3,77,216,
            66,53,0,216,66,53,0,175,3,77,
            216,66,49,0,216,66,49,0,242,3,
            134,215,184,135,13,0,134,215,184,135,
            13,0,145,2,0,135,0,242,3,133,
            272,184,135,13,0,272,184,135,13,0,
            144,2,0,135,0,242,3,144,0,242,
            3,149,0,175,71,149,0,298,0,31,
            0,31,148,0,180,0,143,0,175,3,
            0
        };
    };
    public final static char scopeRhs[] = ScopeRhs.scopeRhs;
    @Override
    public final int scopeRhs(int index) { return scopeRhs[index]; }

    public interface ScopeState {
        public final static char scopeState[] = {0,
            1722,1344,1184,0,7439,4948,4903,0,2415,3374,
            0,2210,1543,0,1941,1510,0,2681,981,2322,
            813,0,2371,0,1614,731,0,4864,4544,3972,
            0,7078,6882,6204,5735,0,7311,7110,0,7311,
            7110,6878,7170,7154,7093,7077,7016,6806,7000,6939,
            6732,722,0,844,2209,0,4993,5269,733,4105,
            4843,7273,6335,6559,4864,4544,6475,6951,5564,5742,
            3972,5520,5045,4961,4877,4261,0,4843,7273,0,
            6725,4778,0,1499,995,0,6329,6262,6195,6128,
            6061,5994,5927,5860,5793,5726,5328,5261,7218,0,
            7311,7110,6878,7170,7154,7093,7077,7016,6806,7000,
            6939,6732,722,6329,6262,6195,6128,6061,5994,5927,
            5860,5793,5726,5328,5261,0,1234,1300,1179,3510,
            721,877,0,3943,4232,4515,4401,4809,4649,4622,
            3519,3392,1094,3314,3236,3158,3080,3002,2924,2846,
            2768,2690,2612,2533,1016,926,848,0,1570,1401,
            0,784,0,2172,1423,1059,814,733,7297,6335,
            5564,5520,4687,3986,3450,0,6434,671,4019,0,
            6725,6434,4778,671,4019,0,3186,5834,5045,5616,
            3108,4961,6368,3030,6559,4993,4877,5340,6382,5302,
            4864,2952,4544,2874,4309,7536,6475,798,2796,7515,
            7511,4955,7323,7008,6945,6873,4679,6725,7208,6983,
            6428,6271,5577,2718,2640,2561,4778,6434,6137,6070,
            5767,5581,4683,5008,4007,4043,671,4019,5269,733,
            7263,4261,6002,4105,5935,5868,5585,3972,6743,7297,
            6203,5801,5734,0,7527,7522,7507,7465,7445,7440,
            7435,7423,7411,7532,6580,7380,7369,7335,6141,6074,
            6007,4026,5940,7306,6728,6364,5873,5599,0,2018,
            1969,6329,6262,3831,3830,6195,6128,6061,5994,5927,
            5860,5793,1451,5726,5328,6855,3519,5261,6764,723,
            0,3380,3302,7527,7522,3224,2599,7507,2427,7465,
            7445,1815,7440,1766,7435,7423,4050,7411,1712,1617,
            7532,6580,1565,1445,7380,1379,1261,7369,7335,1206,
            4919,6141,2423,6074,794,6007,4026,5940,1011,7306,
            6728,6434,6364,914,4019,5873,5599,4274,4143,1283,
            1066,1045,6335,5045,4961,6559,4993,4877,4864,5269,
            4544,733,4261,6475,4105,6951,5564,4843,5742,3972,
            5520,7273,3584,3568,1570,1401,6703,6681,6659,6637,
            5392,3392,5533,1094,3943,3314,3236,3158,3080,3002,
            2924,2846,2768,2690,2612,2533,4232,4515,4401,4809,
            4649,4622,5493,5466,5428,6594,3519,877,1016,926,
            848,3896,4190,4476,4361,4751,4721,4583,5700,5674,
            5234,5207,5180,5150,5123,4428,2719,2641,2562,1123,
            955,6515,4304,3421,3343,3265,3187,3109,3031,2953,
            2875,2797,3844,3797,1636,3470,1234,3745,3698,3646,
            1300,1587,1516,1352,3599,1467,1179,2484,2435,2328,
            2279,2230,2181,2132,2083,2034,1985,1936,1887,1838,
            1788,671,1739,1685,1418,2375,0
        };
    };
    public final static char scopeState[] = ScopeState.scopeState;
    @Override
    public final int scopeState(int index) { return scopeState[index]; }

    public interface InSymb {
        public final static char inSymb[] = {0,
            0,336,136,305,57,48,51,53,49,13,
            144,133,140,9,141,4,3,135,27,61,
            52,46,8,43,42,10,11,45,44,149,
            154,156,155,166,157,169,167,172,170,173,
            68,176,73,3,66,66,66,66,135,3,
            66,66,195,136,71,3,74,75,66,8,
            194,216,175,195,136,174,74,75,184,180,
            133,3,132,134,126,128,3,71,99,105,
            43,42,107,106,10,121,120,97,96,77,
            66,83,84,11,101,100,103,102,104,119,
            118,117,116,115,114,113,112,111,110,80,
            109,108,175,216,216,216,216,184,242,136,
            136,136,276,6,7,5,277,253,278,252,
            279,63,307,13,135,335,280,27,71,71,
            136,133,163,136,71,3,239,238,144,134,
            133,13,135,27,136,71,337,3,215,4,
            216,54,135,54,242,175,155,155,154,154,
            154,157,157,157,157,157,157,156,156,167,
            166,166,170,169,172,272,175,173,77,77,
            77,77,215,272,290,136,269,3,185,157,
            196,193,202,201,205,206,293,290,236,168,
            135,200,3,3,3,174,350,308,168,345,
            308,168,135,212,184,3,290,174,248,236,
            235,176,246,136,3,135,184,150,341,88,
            86,1,175,12,94,92,90,89,82,91,
            93,87,85,183,5,67,70,79,234,3,
            338,195,164,298,215,163,135,212,184,78,
            78,3,3,3,3,134,133,276,277,278,
            279,359,280,13,185,97,96,66,11,101,
            100,103,102,104,119,118,117,116,115,114,
            113,112,111,110,80,109,108,73,184,11,
            10,3,364,1,41,136,184,260,134,133,
            135,132,174,135,184,54,216,136,174,257,
            258,162,259,136,184,54,12,78,367,235,
            78,3,3,3,222,3,132,175,314,136,
            3,135,198,365,132,67,312,194,216,136,
            136,4,243,8,54,175,175,175,175,3,
            3,135,77,157,157,157,193,185,185,201,
            196,202,175,205,200,200,362,331,3,349,
            135,181,254,67,54,221,70,183,352,134,
            133,261,168,261,212,174,136,212,215,163,
            136,163,80,246,214,204,198,3,136,73,
            257,215,78,98,78,255,195,255,343,162,
            82,255,79,136,306,214,136,286,313,236,
            168,135,214,212,184,3,3,80,135,135,
            136,163,300,303,71,213,4,132,134,242,
            242,184,157,78,10,136,73,163,3,41,
            1,184,283,256,168,66,54,136,261,261,
            136,136,215,136,310,132,311,348,136,80,
            80,136,236,163,134,163,214,163,342,136,
            3,163,136,315,78,168,236,3,80,73,
            214,184,136,366,41,295,135,212,212,317,
            122,136,3,71,175,4,215,200,192,363,
            215,174,283,77,66,351,78,265,214,133,
            263,168,136,136,78,310,309,80,73,230,
            73,244,168,136,80,222,178,306,168,175,
            315,324,135,325,164,168,257,78,163,3,
            73,212,256,137,3,300,242,235,136,73,
            137,136,174,36,39,34,54,67,136,73,
            78,80,168,263,168,158,354,254,31,135,
            309,230,12,136,244,130,340,163,316,73,
            212,3,163,10,1,256,98,360,195,273,
            275,136,54,54,54,41,132,326,54,13,
            62,263,168,73,135,31,355,212,68,136,
            163,136,242,136,1,163,163,136,273,136,
            174,73,77,66,260,260,212,135,135,3,
            317,244,136,136,80,80,212,212,361,136,
            273,326,73,77,62,260,80
        };
    };
    public final static char inSymb[] = InSymb.inSymb;
    @Override
    public final int inSymb(int index) { return inSymb[index]; }

    public interface Name {
        public final static String name[] = {
            "",
            "[",
            "(",
            ".",
            ".*",
            "->",
            "->*",
            "++",
            "--",
            "&",
            "*",
            "+",
            "-",
            "~",
            "!",
            "/",
            "%",
            ">>",
            "<<",
            "<",
            ">",
            "<=",
            ">=",
            "==",
            "!=",
            "^",
            "|",
            "&&",
            "||",
            "?",
            ":",
            "::",
            "...",
            "=",
            "*=",
            "/=",
            "%=",
            "+=",
            "-=",
            ">>=",
            "<<=",
            "&=",
            "^=",
            "|=",
            ",",
            ">?",
            "<?",
            "$empty",
            "_Complex",
            "_Imaginary",
            "restrict",
            "asm",
            "auto",
            "bool",
            "break",
            "case",
            "catch",
            "char",
            "class",
            "const",
            "const_cast",
            "continue",
            "default",
            "delete",
            "do",
            "double",
            "dynamic_cast",
            "else",
            "enum",
            "explicit",
            "export",
            "extern",
            "false",
            "float",
            "for",
            "friend",
            "goto",
            "if",
            "inline",
            "int",
            "long",
            "mutable",
            "namespace",
            "new",
            "operator",
            "private",
            "protected",
            "public",
            "register",
            "reinterpret_cast",
            "return",
            "short",
            "signed",
            "sizeof",
            "static",
            "static_cast",
            "struct",
            "switch",
            "template",
            "this",
            "throw",
            "try",
            "true",
            "typedef",
            "typeid",
            "typename",
            "union",
            "unsigned",
            "using",
            "virtual",
            "void",
            "volatile",
            "wchar_t",
            "while",
            "integer",
            "floating",
            "charconst",
            "stringlit",
            "identifier",
            "Completion",
            "EndOfCompletion",
            "Invalid",
            "RightBracket",
            "RightParen",
            "RightBrace",
            "SemiColon",
            "LeftBrace",
            "typeof",
            "__alignof__",
            "__attribute__",
            "__declspec",
            "ERROR_TOKEN",
            "EOF_TOKEN",
            "no_sizeof_type_id_start",
            "]",
            ")",
            "}",
            ";",
            "{",
            "identifier_token",
            "expression",
            "id_expression",
            "qualified_or_unqualified_name",
            "unqualified_id_name",
            "identifier_name",
            "template_id_name",
            "nested_name_specifier",
            "class_or_namespace_name",
            "nested_name_specifier_with_tem" +
            "plate",
            "class_or_namespace_name_with_t" +
            "emplate",
            "class_name",
            "postfix_expression",
            "simple_type_specifier",
            "pseudo_destructor_name",
            "type_id",
            "type_name",
            "destructor_type_name",
            "unary_expression",
            "cast_expression",
            "new_type_id",
            "expression_list",
            "type_specifier_seq",
            "new_declarator",
            "new_pointer_operators",
            "ptr_operator",
            "new_array_expressions",
            "constant_expression",
            "pm_expression",
            "multiplicative_expression",
            "additive_expression",
            "shift_expression",
            "relational_expression",
            "equality_expression",
            "and_expression",
            "exclusive_or_expression",
            "inclusive_or_expression",
            "logical_and_expression",
            "logical_or_expression",
            "assignment_expression",
            "relational_expression_inTempla" +
            "te",
            "equality_expression_inTemplate",
            "and_expression_inTemplate",
            "exclusive_or_expression_inTemp" +
            "late",
            "inclusive_or_expression_inTemp" +
            "late",
            "logical_and_expression_inTempl" +
            "ate",
            "logical_or_expression_inTempla" +
            "te",
            "assignment_expression_inTempla" +
            "te",
            "expression_list_actual",
            "statement",
            "compound_statement",
            "statement_seq",
            "condition",
            "declarator",
            "for_init_statement",
            "function_definition",
            "declaration",
            "declaration_seq",
            "declaration_specifiers",
            "simple_declaration_specifiers",
            "class_declaration_specifiers",
            "elaborated_declaration_specifi" +
            "ers",
            "enum_declaration_specifiers",
            "type_name_declaration_specifie" +
            "rs",
            "no_type_declaration_specifier",
            "cv_qualifier",
            "no_type_declaration_specifiers",
            "class_specifier",
            "elaborated_type_specifier",
            "enum_specifier",
            "type_name_specifier",
            "class_keyword",
            "enumerator_list",
            "enumerator_definition",
            "namespace_name",
            "init_declarator_list",
            "init_declarator_complete",
            "complete_declarator",
            "initializer",
            "direct_declarator",
            "ptr_operator_seq",
            "function_declarator",
            "basic_direct_declarator",
            "array_direct_declarator",
            "array_modifier",
            "abstract_declarator",
            "direct_abstract_declarator",
            "basic_direct_abstract_declarat" +
            "or",
            "array_direct_abstract_declarat" +
            "or",
            "parameter_declaration_list",
            "parameter_declaration",
            "parameter_init_declarator",
            "parameter_initializer",
            "function_body",
            "handler_seq",
            "initializer_clause",
            "initializer_list",
            "initializer_seq",
            "class_head",
            "access_specifier_keyword",
            "member_declaration",
            "member_declarator_list",
            "member_declaration_list",
            "member_declarator_complete",
            "constant_initializer",
            "bit_field_declarator",
            "base_specifier_list",
            "base_specifier",
            "conversion_function_id",
            "conversion_type_id",
            "conversion_declarator",
            "mem_initializer_list",
            "mem_initializer",
            "mem_initializer_name",
            "operator_id_name",
            "overloadable_operator",
            "template_parameter_list",
            "template_parameter",
            "template_argument_list",
            "template_argument",
            "type_name_specifier_inTemplate",
            "type_name_declaration_specifie" +
            "rs_inTemplate",
            "type_specifier_seq_inTemplate",
            "handler",
            "exception_declaration",
            "type_id_list",
            "attribute_or_decl_specifier",
            "attribute_or_decl_specifier_se" +
            "q",
            "word",
            "extended_decl_modifier_seq",
            "extended_decl_modifier",
            "extended_asm_param",
            "case_range_expression",
            "typeof_declaration_specifiers",
            "typeof_type_specifier"
        };
    };
    public final static String name[] = Name.name;
    public final String name(int index) { return name[index]; }

    public final static int
           ERROR_SYMBOL      = 69,
           SCOPE_UBOUND      = 149,
           SCOPE_SIZE        = 150,
           MAX_NAME_LENGTH   = 43;

    public final int getErrorSymbol() { return ERROR_SYMBOL; }
    public final int getScopeUbound() { return SCOPE_UBOUND; }
    public final int getScopeSize() { return SCOPE_SIZE; }
    public final int getMaxNameLength() { return MAX_NAME_LENGTH; }

    public final static int
           NUM_STATES        = 677,
           NT_OFFSET         = 131,
           LA_STATE_OFFSET   = 9323,
           MAX_LA            = 2147483647,
           NUM_RULES         = 670,
           NUM_NONTERMINALS  = 245,
           NUM_SYMBOLS       = 376,
           SEGMENT_SIZE      = 8192,
           START_STATE       = 4025,
           IDENTIFIER_SYMBOL = 0,
           EOFT_SYMBOL       = 129,
           EOLT_SYMBOL       = 129,
           ACCEPT_ACTION     = 7679,
           ERROR_ACTION      = 8653;

    public final static boolean BACKTRACK = true;

    public final int getNumStates() { return NUM_STATES; }
    public final int getNtOffset() { return NT_OFFSET; }
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }
    public final int getMaxLa() { return MAX_LA; }
    public final int getNumRules() { return NUM_RULES; }
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }
    public final int getNumSymbols() { return NUM_SYMBOLS; }
    public final int getSegmentSize() { return SEGMENT_SIZE; }
    public final int getStartState() { return START_STATE; }
    public final int getStartSymbol() { return lhs[0]; }
    public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
    public final int getEoftSymbol() { return EOFT_SYMBOL; }
    public final int getEoltSymbol() { return EOLT_SYMBOL; }
    public final int getAcceptAction() { return ACCEPT_ACTION; }
    public final int getErrorAction() { return ERROR_ACTION; }
    public final boolean isValidForParser() { return isValidForParser; }
    public final boolean getBacktrack() { return BACKTRACK; }

    public final int originalState(int state) {
        return -baseCheck[state];
    }
    public final int asi(int state) {
        return asb[originalState(state)];
    }
    public final int nasi(int state) {
        return nasb[originalState(state)];
    }
    public final int inSymbol(int state) {
        return inSymb[originalState(state)];
    }

    public final int ntAction(int state, int sym) {
        return baseAction[state + sym];
    }

    public final int tAction(int state, int sym) {
        int i = baseAction[state],
            k = i + sym;
        return termAction[termCheck[k] == sym ? k : i];
    }
    public final int lookAhead(int la_state, int sym) {
        int k = la_state + sym;
        return termAction[termCheck[k] == sym ? k : la_state];
    }
}
